refactor(configmanager): rename UI project and split test projects

Rename ConfigManager to ConfigManager.Ui to match the Core/CLI/UI project
structure, and split the monolithic test project into Core.Tests,
Cli.Tests, and Ui.Tests to align with the source project organization.
This commit is contained in:
Joseph Doherty
2026-01-28 10:24:36 -05:00
parent 7c4781dfe3
commit 1fc7792cd1
131 changed files with 267 additions and 212 deletions
+6 -2
View File
@@ -14,7 +14,7 @@
<Folder Name="/utils/">
<Project Path="src/Utils/JdeScoping.ConfigManager.Core/JdeScoping.ConfigManager.Core.csproj" />
<Project Path="src/Utils/JdeScoping.ConfigManager.Cli/JdeScoping.ConfigManager.Cli.csproj" />
<Project Path="src/Utils/JdeScoping.ConfigManager/JdeScoping.ConfigManager.csproj" />
<Project Path="src/Utils/JdeScoping.ConfigManager.Ui/JdeScoping.ConfigManager.Ui.csproj" />
</Folder>
<Folder Name="/tests/">
<Project Path="tests/JdeScoping.Api.Tests/JdeScoping.Api.Tests.csproj" />
@@ -28,6 +28,10 @@
<Project Path="tests/JdeScoping.ExcelIO.Tests/JdeScoping.ExcelIO.Tests.csproj" />
<Project Path="tests/JdeScoping.Host.Tests/JdeScoping.Host.Tests.csproj" />
<Project Path="tests/JdeScoping.Infrastructure.Tests/JdeScoping.Infrastructure.Tests.csproj" />
<Project Path="tests/JdeScoping.ConfigManager.Tests/JdeScoping.ConfigManager.Tests.csproj" />
</Folder>
<Folder Name="/tests/utils/">
<Project Path="tests/Utils/JdeScoping.ConfigManager.Core.Tests/JdeScoping.ConfigManager.Core.Tests.csproj" />
<Project Path="tests/Utils/JdeScoping.ConfigManager.Cli.Tests/JdeScoping.ConfigManager.Cli.Tests.csproj" />
<Project Path="tests/Utils/JdeScoping.ConfigManager.Ui.Tests/JdeScoping.ConfigManager.Ui.Tests.csproj" />
</Folder>
</Solution>
@@ -1,12 +1,12 @@
<Application xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:converters="clr-namespace:JdeScoping.ConfigManager.Converters"
x:Class="JdeScoping.ConfigManager.App"
xmlns:converters="clr-namespace:JdeScoping.ConfigManager.Ui.Converters"
x:Class="JdeScoping.ConfigManager.Ui.App"
RequestedThemeVariant="Dark">
<Application.Styles>
<FluentTheme />
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml" />
</Application.Styles>
<Application.Styles>
<FluentTheme />
<StyleInclude Source="avares://Avalonia.Controls.DataGrid/Themes/Fluent.xaml" />
</Application.Styles>
<Application.Resources>
<ResourceDictionary>
<!-- Converters -->
@@ -4,12 +4,12 @@ using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Input.Platform;
using Avalonia.Markup.Xaml;
using JdeScoping.ConfigManager.Core.DependencyInjection;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.ViewModels;
using JdeScoping.ConfigManager.Ui.Services;
using JdeScoping.ConfigManager.Ui.ViewModels;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace JdeScoping.ConfigManager;
namespace JdeScoping.ConfigManager.Ui;
public partial class App : Avalonia.Application
{
@@ -2,7 +2,7 @@ using System.Globalization;
using Avalonia.Data.Converters;
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.Converters;
namespace JdeScoping.ConfigManager.Ui.Converters;
/// <summary>
/// Converts a ConnectionProvider value to visibility (bool) based on whether it matches the target provider.
@@ -1,7 +1,7 @@
using System.Globalization;
using Avalonia.Data.Converters;
namespace JdeScoping.ConfigManager.Converters;
namespace JdeScoping.ConfigManager.Ui.Converters;
/// <summary>
/// Converts a string to bool (empty/null = false, not empty = true).
@@ -2,6 +2,8 @@
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<AssemblyName>JdeScoping.ConfigManager.Ui</AssemblyName>
<RootNamespace>JdeScoping.ConfigManager.Ui</RootNamespace>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
@@ -1,6 +1,6 @@
using Avalonia;
namespace JdeScoping.ConfigManager;
namespace JdeScoping.ConfigManager.Ui;
class Program
{
@@ -1,6 +1,6 @@
using Avalonia.Input.Platform;
namespace JdeScoping.ConfigManager.Services;
namespace JdeScoping.ConfigManager.Ui.Services;
/// <summary>
/// Avalonia implementation of IClipboardService.
@@ -2,11 +2,11 @@ using System.Text;
using Avalonia.Controls;
using Avalonia.Platform.Storage;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Views.Dialogs;
using JdeScoping.ConfigManager.Ui.Views.Dialogs;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;
namespace JdeScoping.ConfigManager.Services;
namespace JdeScoping.ConfigManager.Ui.Services;
/// <summary>
/// Avalonia implementation of IDialogService using MsBox.Avalonia and platform storage.
@@ -1,4 +1,4 @@
namespace JdeScoping.ConfigManager.Services;
namespace JdeScoping.ConfigManager.Ui.Services;
/// <summary>
/// Abstraction for platform-specific clipboard operations.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Services;
namespace JdeScoping.ConfigManager.Ui.Services;
/// <summary>
/// Abstraction for platform-specific dialog operations.
@@ -1,6 +1,6 @@
using System.Windows.Input;
namespace JdeScoping.ConfigManager.ViewModels;
namespace JdeScoping.ConfigManager.Ui.ViewModels;
/// <summary>
/// An async command implementation that properly handles async operations.
@@ -2,7 +2,7 @@ using System.Collections.ObjectModel;
using System.Windows.Input;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
/// <summary>
/// ViewModel for the diff preview dialog.
@@ -1,7 +1,7 @@
using System.Windows.Input;
using JdeScoping.ConfigManager.Core.Constants;
namespace JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
/// <summary>
/// View model for creating a new secure store.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Constants;
namespace JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
/// <summary>
/// View model for adding or editing a secret in the secure store.
@@ -1,7 +1,7 @@
using System.Windows.Input;
using JdeScoping.ConfigManager.Core.Constants;
namespace JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
/// <summary>
/// View model for unlocking an existing secure store.
@@ -2,7 +2,7 @@ using System.Collections.ObjectModel;
using System.Windows.Input;
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
/// <summary>
/// ViewModel for the validation results dialog.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing Auth configuration section.
@@ -1,7 +1,7 @@
using System.Windows.Input;
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing a single connection string entry.
@@ -3,9 +3,9 @@ using System.Windows.Input;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Ui.Services;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing connection strings stored in SecureStore.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing DataAccess configuration section.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing DataSync configuration section.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing ExcelExport configuration section.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing LDAP configuration section.
@@ -1,10 +1,10 @@
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.ViewModels.PipelineSteps;
using JdeScoping.ConfigManager.Ui.Services;
using JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
using JdeScoping.DataSync.Configuration;
using System.Collections.ObjectModel;
using System.Windows.Input;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for the visual pipeline editor with flow diagram.
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for editing Search configuration section.
@@ -1,7 +1,7 @@
using System.Windows.Input;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.Ui.Services;
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// ViewModel for displaying and editing a secret.
@@ -1,4 +1,4 @@
namespace JdeScoping.ConfigManager.ViewModels.Forms;
namespace JdeScoping.ConfigManager.Ui.ViewModels.Forms;
/// <summary>
/// View model for the SecureStore info panel shown when the store node is selected.
@@ -5,13 +5,13 @@ using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
using JdeScoping.ConfigManager.Services;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.Services;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
using JdeScoping.DataSync.Configuration;
using Microsoft.Extensions.Logging;
namespace JdeScoping.ConfigManager.ViewModels;
namespace JdeScoping.ConfigManager.Ui.ViewModels;
/// <summary>
/// Main window view model.
@@ -1,6 +1,6 @@
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.ViewModels.PipelineSteps;
namespace JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
/// <summary>
/// View model for the destination step in a pipeline.
@@ -1,7 +1,7 @@
using System.Windows.Input;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.ViewModels.PipelineSteps;
namespace JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
/// <summary>
/// Type of pipeline step in the flow diagram.
@@ -2,7 +2,7 @@ using JdeScoping.DataSync.Configuration;
using System.Collections.ObjectModel;
using System.Windows.Input;
namespace JdeScoping.ConfigManager.ViewModels.PipelineSteps;
namespace JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
/// <summary>
/// View model for the source step in a pipeline.
@@ -4,7 +4,7 @@ using System.Text.Json;
using System.Text.RegularExpressions;
using System.Windows.Input;
namespace JdeScoping.ConfigManager.ViewModels.PipelineSteps;
namespace JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
/// <summary>
/// Base class for transformer step view models.
@@ -1,6 +1,6 @@
using System.Windows.Input;
namespace JdeScoping.ConfigManager.ViewModels;
namespace JdeScoping.ConfigManager.Ui.ViewModels;
/// <summary>
/// A command implementation that delegates to action methods.
@@ -1,6 +1,6 @@
using System.Collections.ObjectModel;
namespace JdeScoping.ConfigManager.ViewModels;
namespace JdeScoping.ConfigManager.Ui.ViewModels;
public enum TreeNodeType
{
@@ -1,7 +1,7 @@
using System.ComponentModel;
using System.Runtime.CompilerServices;
namespace JdeScoping.ConfigManager.ViewModels;
namespace JdeScoping.ConfigManager.Ui.ViewModels;
/// <summary>
/// Base class for all view models providing INotifyPropertyChanged implementation.
@@ -1,6 +1,6 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="JdeScoping.ConfigManager.Views.Controls.FlowArrow"
x:Class="JdeScoping.ConfigManager.Ui.Views.Controls.FlowArrow"
Width="200"
Height="24">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Controls;
namespace JdeScoping.ConfigManager.Ui.Views.Controls;
public partial class FlowArrow : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Controls.PipelineStepCard"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Controls.PipelineStepCard"
x:DataType="steps:PipelineStepViewModelBase"
Width="200">
@@ -2,10 +2,10 @@ using Avalonia;
using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Media;
using JdeScoping.ConfigManager.ViewModels.Forms;
using JdeScoping.ConfigManager.ViewModels.PipelineSteps;
using JdeScoping.ConfigManager.Ui.ViewModels.Forms;
using JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps;
namespace JdeScoping.ConfigManager.Views.Controls;
namespace JdeScoping.ConfigManager.Ui.Views.Controls;
public partial class PipelineStepCard : UserControl
{
@@ -1,7 +1,7 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Views.Dialogs.DiffPreviewDialog"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Ui.Views.Dialogs.DiffPreviewDialog"
x:DataType="vm:DiffPreviewDialogViewModel"
Title="Preview Changes"
Width="800" Height="600"
@@ -1,7 +1,7 @@
using Avalonia.Controls;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Views.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Views.Dialogs;
public partial class DiffPreviewDialog : Window
{
@@ -1,6 +1,6 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="JdeScoping.ConfigManager.Views.Dialogs.InputDialog"
x:Class="JdeScoping.ConfigManager.Ui.Views.Dialogs.InputDialog"
Title="Input"
Width="450" Height="200"
MinWidth="350" MinHeight="180"
@@ -1,7 +1,7 @@
using Avalonia.Controls;
using Avalonia.Interactivity;
namespace JdeScoping.ConfigManager.Views.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Views.Dialogs;
/// <summary>
/// A simple input dialog for collecting text from the user.
@@ -1,7 +1,7 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Views.Dialogs.NewStoreDialog"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Ui.Views.Dialogs.NewStoreDialog"
x:DataType="vm:NewStoreDialogViewModel"
Title="Create New Secure Store"
Width="550" Height="350"
@@ -3,11 +3,11 @@ using Avalonia.Interactivity;
using Avalonia.Platform.Storage;
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.Core.Services.SecureStore;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;
namespace JdeScoping.ConfigManager.Views.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Views.Dialogs;
/// <summary>
/// Dialog for creating a new secure store.
@@ -1,7 +1,7 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Views.Dialogs.SecretEditDialog"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Ui.Views.Dialogs.SecretEditDialog"
x:DataType="vm:SecretEditDialogViewModel"
Title="{Binding DialogTitle}"
Width="500" Height="320"
@@ -1,11 +1,11 @@
using Avalonia.Controls;
using Avalonia.Interactivity;
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;
namespace JdeScoping.ConfigManager.Views.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Views.Dialogs;
/// <summary>
/// Dialog for adding or editing a secret in the secure store.
@@ -1,7 +1,7 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Views.Dialogs.UnlockStoreDialog"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Ui.Views.Dialogs.UnlockStoreDialog"
x:DataType="vm:UnlockStoreDialogViewModel"
Title="Unlock Secure Store"
Width="500" Height="320"
@@ -2,11 +2,11 @@ using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Platform.Storage;
using JdeScoping.ConfigManager.Core.Constants;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
using MsBox.Avalonia;
using MsBox.Avalonia.Enums;
namespace JdeScoping.ConfigManager.Views.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Views.Dialogs;
/// <summary>
/// Dialog for unlocking an existing secure store.
@@ -1,7 +1,7 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Views.Dialogs.ValidationResultsDialog"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Dialogs"
x:Class="JdeScoping.ConfigManager.Ui.Views.Dialogs.ValidationResultsDialog"
x:DataType="vm:ValidationResultsDialogViewModel"
Title="Validation Results"
Width="600" Height="500"
@@ -1,7 +1,7 @@
using Avalonia.Controls;
using JdeScoping.ConfigManager.ViewModels.Dialogs;
using JdeScoping.ConfigManager.Ui.ViewModels.Dialogs;
namespace JdeScoping.ConfigManager.Views.Dialogs;
namespace JdeScoping.ConfigManager.Ui.Views.Dialogs;
/// <summary>
/// Dialog window for displaying validation results.
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.ColumnDropEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.ColumnDropEditorView"
x:DataType="steps:ColumnDropTransformerViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class ColumnDropEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.ColumnRenameEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.ColumnRenameEditorView"
x:DataType="steps:ColumnRenameTransformerViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class ColumnRenameEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.DestinationEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.DestinationEditorView"
x:DataType="steps:DestinationStepViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class DestinationEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.JdeDateEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.JdeDateEditorView"
x:DataType="steps:JdeDateTransformerViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class JdeDateEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.PostScriptEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.PostScriptEditorView"
x:DataType="steps:PostScriptStepViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class PostScriptEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.RegexEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.RegexEditorView"
x:DataType="steps:RegexTransformerViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class RegexEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.ScriptEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.ScriptEditorView"
x:DataType="steps:PreScriptStepViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class ScriptEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Views.Editors.SourceEditorView"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
x:Class="JdeScoping.ConfigManager.Ui.Views.Editors.SourceEditorView"
x:DataType="steps:SourceStepViewModel">
<StackPanel Spacing="16">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Editors;
namespace JdeScoping.ConfigManager.Ui.Views.Editors;
public partial class SourceEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.AuthFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.AuthFormView"
x:DataType="vm:AuthFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class AuthFormView : UserControl
{
@@ -1,9 +1,9 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
xmlns:models="using:JdeScoping.ConfigManager.Models"
xmlns:local="using:JdeScoping.ConfigManager.Converters"
x:Class="JdeScoping.ConfigManager.Views.Forms.ConnectionStringsFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
xmlns:models="using:JdeScoping.ConfigManager.Ui.Models"
xmlns:local="using:JdeScoping.ConfigManager.Ui.Converters"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.ConnectionStringsFormView"
x:DataType="vm:ConnectionStringsFormViewModel">
<UserControl.Resources>
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class ConnectionStringsFormView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.DataAccessFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.DataAccessFormView"
x:DataType="vm:DataAccessFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class DataAccessFormView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.DataSyncFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.DataSyncFormView"
x:DataType="vm:DataSyncFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class DataSyncFormView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.ExcelExportFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.ExcelExportFormView"
x:DataType="vm:ExcelExportFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class ExcelExportFormView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.LdapFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.LdapFormView"
x:DataType="vm:LdapFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class LdapFormView : UserControl
{
@@ -1,10 +1,10 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
xmlns:controls="using:JdeScoping.ConfigManager.Views.Controls"
xmlns:editors="using:JdeScoping.ConfigManager.Views.Editors"
x:Class="JdeScoping.ConfigManager.Views.Forms.PipelineEditorView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
xmlns:controls="using:JdeScoping.ConfigManager.Ui.Views.Controls"
xmlns:editors="using:JdeScoping.ConfigManager.Ui.Views.Editors"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.PipelineEditorView"
x:DataType="vm:PipelineEditorViewModel">
<UserControl.Resources>
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class PipelineEditorView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.SearchFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.SearchFormView"
x:DataType="vm:SearchFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class SearchFormView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.SecretFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.SecretFormView"
x:DataType="vm:SecretFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class SecretFormView : UserControl
{
@@ -1,7 +1,7 @@
<UserControl xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Views.Forms.SecureStoreInfoFormView"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
x:Class="JdeScoping.ConfigManager.Ui.Views.Forms.SecureStoreInfoFormView"
x:DataType="vm:SecureStoreInfoFormViewModel">
<ScrollViewer VerticalScrollBarVisibility="Auto">
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views.Forms;
namespace JdeScoping.ConfigManager.Ui.Views.Forms;
public partial class SecureStoreInfoFormView : UserControl
{
@@ -1,11 +1,11 @@
<Window xmlns="https://github.com/avaloniaui"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:vm="using:JdeScoping.ConfigManager.ViewModels"
xmlns:forms="using:JdeScoping.ConfigManager.ViewModels.Forms"
xmlns:steps="using:JdeScoping.ConfigManager.ViewModels.PipelineSteps"
xmlns:views="using:JdeScoping.ConfigManager.Views.Forms"
xmlns:editors="using:JdeScoping.ConfigManager.Views.Editors"
x:Class="JdeScoping.ConfigManager.Views.MainWindow"
xmlns:vm="using:JdeScoping.ConfigManager.Ui.ViewModels"
xmlns:forms="using:JdeScoping.ConfigManager.Ui.ViewModels.Forms"
xmlns:steps="using:JdeScoping.ConfigManager.Ui.ViewModels.PipelineSteps"
xmlns:views="using:JdeScoping.ConfigManager.Ui.Views.Forms"
xmlns:editors="using:JdeScoping.ConfigManager.Ui.Views.Editors"
x:Class="JdeScoping.ConfigManager.Ui.Views.MainWindow"
x:DataType="vm:MainWindowViewModel"
Title="JdeScoping ConfigManager"
Width="1200" Height="800"
@@ -1,6 +1,6 @@
using Avalonia.Controls;
namespace JdeScoping.ConfigManager.Views;
namespace JdeScoping.ConfigManager.Ui.Views;
public partial class MainWindow : Window
{
@@ -0,0 +1,22 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Cli\JdeScoping.ConfigManager.Cli.csproj" />
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Core\JdeScoping.ConfigManager.Core.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.1" />
</ItemGroup>
</Project>
@@ -0,0 +1,3 @@
global using Xunit;
global using Shouldly;
global using NSubstitute;
@@ -0,0 +1,21 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\src\Utils\JdeScoping.ConfigManager.Core\JdeScoping.ConfigManager.Core.csproj" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="Shouldly" Version="4.2.1" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.1" />
</ItemGroup>
</Project>
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Models;
namespace JdeScoping.ConfigManager.Tests.Models;
namespace JdeScoping.ConfigManager.Core.Tests.Models;
public class ConnectionStringEntryTests
{
@@ -3,7 +3,7 @@ using JdeScoping.ConfigManager.Core.Models;
using Shouldly;
using Xunit;
namespace JdeScoping.ConfigManager.Tests.Models;
namespace JdeScoping.ConfigManager.Core.Tests.Models;
public class ConnectionStringsSectionConverterTests
{
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class AutoDiscoveryServiceTests : IDisposable
{
@@ -1,6 +1,6 @@
using JdeScoping.ConfigManager.Core.Services;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class BackupServiceTests
{
@@ -2,7 +2,7 @@ using JdeScoping.ConfigManager.Core.Models;
using JdeScoping.ConfigManager.Core.Services;
using JdeScoping.DataSync.Configuration;
namespace JdeScoping.ConfigManager.Tests.Services;
namespace JdeScoping.ConfigManager.Core.Tests.Services;
public class ConfigFileServiceTests
{

Some files were not shown because too many files have changed in this diff Show More