public void BuildFromFileTest()
        {
            HelperCreateDefaultConfigFile();
            var ecb = new EngineConfigurationBuilder();

            ecb.BuildFromFile();
        }
Beispiel #2
0
        private EngineConfigurationBuilder CreateEngine()
        {
            var logger = new NullLogger <EngineConfigurationBuilder>();
            var ecb    = new EngineConfigurationBuilder(logger);

            return(ecb);
        }
        public void NonGeneric_Include_ReturnsTypeConfiguration()
        {
            EngineConfigurationBuilder config = new EngineConfigurationBuilder();
            IEngineConfigurationTypeBuilder builder = config.Include(typeof(SimpleUser));

            Assert.NotNull(builder);
        }
        public void Generic_Include_ReturnsTypeConfiguration()
        {
            EngineConfigurationBuilder config = new EngineConfigurationBuilder();
            IEngineConfigurationTypeBuilder <SimpleUser> user = config.Include <SimpleUser>();

            Assert.NotNull(user);
        }
        public void NonGeneric_Include_ReturnsTypeConfiguration()
        {
            EngineConfigurationBuilder      config  = new EngineConfigurationBuilder();
            IEngineConfigurationTypeBuilder builder = config.Include(typeof(SimpleUser));

            Assert.NotNull(builder);
        }
Beispiel #6
0
        private EngineConfiguration CreateEngineConfiguration()
        {
            var ecb = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            var ec  = ecb.CreateEmptyConfig();

            return(ec);
        }
        public void Generic_Include_ReturnsTypeConfiguration()
        {
            EngineConfigurationBuilder config = new EngineConfigurationBuilder();
            IEngineConfigurationTypeBuilder<SimpleUser> user = config.Include<SimpleUser>();

            Assert.NotNull(user);
        }
        public void RegisterTypeProvider_RegistersTypeProvider()
        {
            EngineConfigurationBuilder config = new EngineConfigurationBuilder();
            Mock<IEngineConfigurationTypeProvider> providerMock = new Mock<IEngineConfigurationTypeProvider>();
            config.RegisterTypeProvider(providerMock.Object);

            Assert.IsTrue(config.GetConfigurationTypes().Contains(providerMock.Object));
        }
Beispiel #9
0
        private IOptions <EngineConfiguration> CreateEngineConfiguration()
        {
            var ecb  = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            var ec   = ecb.CreateEmptyConfig();
            var opts = Microsoft.Extensions.Options.Options.Create(ec);

            return(opts);
        }
 public static IGenerationSessionFactory Configure(Action<IEngineConfigurationBuilder> setup)
 {
     var config = new EngineConfigurationBuilder();
     config.Conventions(x => x.Register<DefaultPrimitiveCtorConvention>());
     setup.Invoke(config);
     var configFactory = new EngineConfigurationFactory();
     return new GenerationSessionFactory(configFactory.Create(config, config.ConventionProvider), config.ConventionProvider);
 }
Beispiel #11
0
        public void EngineConfigurationCreateDefault()
        {
            IEngineConfigurationBuilder ecb = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            EngineConfiguration         ec  = ecb.BuildDefault();

            Assert.IsNotNull(ec);
            Assert.IsNotNull(ec.Source);
            Assert.AreEqual(ec.Source.Project, "migrationSource1");
        }
        public void EngineConfigurationCreateDefault()
        {
            IEngineConfigurationBuilder ecb = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            EngineConfiguration         ec  = ecb.BuildDefault();

            Assert.IsNotNull(ec);
            Assert.IsNotNull(ec.Source);
            Assert.AreEqual(ec.Source.ToString(), "FakeMigration");
        }
        public void RegisterTypeProvider_RegistersTypeProvider()
        {
            EngineConfigurationBuilder config = new EngineConfigurationBuilder();
            Mock <IEngineConfigurationTypeProvider> providerMock = new Mock <IEngineConfigurationTypeProvider>();

            config.RegisterTypeProvider(providerMock.Object);

            Assert.IsTrue(config.GetConfigurationTypes().Contains(providerMock.Object));
        }
        protected static int RunExecuteAndReturnExitCode(ExecuteOptions opts, ITelemetryLogger telemetryLogger, PlatformSpecificServices AddPlatformSpecificServices, EngineEntryPoint StartEngine)
        {
            telemetryLogger.TrackEvent("ExecuteCommand");

            if (opts.ConfigFile == string.Empty)
            {
                opts.ConfigFile = "configuration.json";
            }

            if (!File.Exists(opts.ConfigFile))
            {
                Log.Information("The config file {ConfigFile} does not exist, nor does the default 'configuration.json'. Use '{ExecutableName}.exe init' to create a configuration file first", opts.ConfigFile, System.Reflection.Assembly.GetExecutingAssembly().GetName().Name);
                return(1);
            }
            Log.Information("Config Found, creating engine host");
            var config = new EngineConfigurationBuilder().BuildFromFile(opts.ConfigFile);

            Console.Title = $"Azure DevOps Migration Tools: {System.IO.Path.GetFileName(opts.ConfigFile)} - {System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString(3)} - {config.Source.Project} - {config.Target.Project}";
            // Setup Host
            var host = Host.CreateDefaultBuilder()
                       .ConfigureHostConfiguration(configHost =>
            {
                configHost.SetBasePath(Directory.GetCurrentDirectory());
                configHost.AddJsonFile("appsettings.json", optional: true);
                configHost.AddEnvironmentVariables();
            })
                       .ConfigureAppConfiguration((hostContext, configApp) =>
            {
                configApp.SetBasePath(Directory.GetCurrentDirectory());
                configApp.AddJsonFile(opts.ConfigFile, optional: false);
                configApp.AddJsonFile(
                    $"{opts.ConfigFile}.{hostContext.HostingEnvironment.EnvironmentName}.json",
                    optional: true);
            })
                       .ConfigureServices((context, services) =>
            {
                services.AddOptions();
                services.AddSingleton <IDetectOnlineService, DetectOnlineService>();
                services.AddSingleton <IDetectVersionService, DetectVersionService>();
                services.AddSingleton <ITelemetryLogger>(telemetryLogger);
                services.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilder>();
                services.AddSingleton <EngineConfiguration>(config);
                services.AddSingleton <ProcessorContainer>();
                services.AddSingleton <TypeDefinitionMapContainer>();
                services.AddSingleton <GitRepoMapContainer>();
                services.AddSingleton <ChangeSetMappingContainer>();
                AddPlatformSpecificServices(services);
            })
                       .UseConsoleLifetime()
                       .UseSerilog()
                       .Build();

            StartEngine(host, opts);
            Log.Information("Run complete...");
            return(0);
        }
Beispiel #15
0
        public static IGenerationSessionFactory Configure(Action <IEngineConfigurationBuilder> setup)
        {
            var config = new EngineConfigurationBuilder();

            config.Conventions(x => x.Register <DefaultPrimitiveCtorConvention>());
            setup.Invoke(config);
            var configFactory = new EngineConfigurationFactory();

            return(new GenerationSessionFactory(configFactory.Create(config, config.ConventionProvider), config.ConventionProvider));
        }
        public static IGenerationSession CreateDefaultSession()
        {
            var config = new EngineConfigurationBuilder();
            var configFactory = new EngineConfigurationFactory();

            config.Conventions(x => x.UseDefaultConventions());

            return new GenerationSessionFactory(
                configFactory.Create(config, config.ConventionProvider), config.ConventionProvider)
                .CreateSession();
        }
Beispiel #17
0
        public static IGenerationSession CreateDefaultSession()
        {
            var config        = new EngineConfigurationBuilder();
            var configFactory = new EngineConfigurationFactory();

            config.Conventions(x => x.UseDefaultConventions());

            return(new GenerationSessionFactory(
                       configFactory.Create(config, config.ConventionProvider), config.ConventionProvider)
                   .CreateSession());
        }
        public void Conventions_InvokesAction()
        {
            EngineConfigurationBuilder config = new EngineConfigurationBuilder();
            bool wasInvoked = false;
            config.Conventions(x =>
            {
                wasInvoked = true;
            });

            Assert.IsTrue(wasInvoked);
        }
        private void HelperCreateDefaultConfigFile()
        {
            var ecb = new EngineConfigurationBuilder();
            EngineConfiguration ec = ecb.BuildDefault();
            string json            = JsonConvert.SerializeObject(ecb.BuildDefault(),
                                                                 new FieldMapConfigJsonConverter(),
                                                                 new ProcessorConfigJsonConverter());
            StreamWriter sw = new StreamWriter("configuration.json");

            sw.WriteLine(json);
            sw.Close();
        }
        public void Conventions_InvokesAction()
        {
            EngineConfigurationBuilder config = new EngineConfigurationBuilder();
            bool wasInvoked = false;

            config.Conventions(x =>
            {
                wasInvoked = true;
            });

            Assert.IsTrue(wasInvoked);
        }
Beispiel #21
0
        public void Setup()
        {
            var ecb      = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            var services = new ServiceCollection();

            services.AddSingleton <LoggingLevelSwitch>();

            // Field Mapps
            services.AddTransient <FieldBlankMap>();
            services.AddTransient <FieldLiteralMap>();
            services.AddTransient <FieldMergeMap>();
            services.AddTransient <FieldValueMap>();
            services.AddTransient <FieldToFieldMap>();
            services.AddTransient <FieldtoFieldMultiMap>();
            services.AddTransient <FieldToTagFieldMap>();
            services.AddTransient <FieldValuetoTagMap>();
            services.AddTransient <MultiValueConditionalMap>();
            services.AddTransient <RegexFieldMap>();
            services.AddTransient <TreeToTagFieldMap>();
            //Services
            services.AddSingleton <IDetectOnlineService, DetectOnlineService>();
            services.AddSingleton <IDetectVersionService, DetectVersionService>();
            //Containers
            services.AddSingleton <FieldMapContainer>();
            services.AddSingleton <ProcessorContainer>();
            services.AddSingleton <TypeDefinitionMapContainer>();
            services.AddSingleton <GitRepoMapContainer>();
            services.AddSingleton <ChangeSetMappingContainer>();

            //
            services.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilder>();
            services.AddSingleton <EngineConfiguration>(ecb.BuildDefault());
            services.AddSingleton <ITelemetryLogger, TelemetryLoggerMock>();
            services.AddApplicationInsightsTelemetryWorkerService();
            services.AddLogging();

            //Clients
            services.AddTransient <IMigrationClient, TfsMigrationClient>();
            services.AddTransient <IWorkItemMigrationClient, TfsWorkItemMigrationClient>();
            services.AddTransient <IWorkItemQueryBuilder, WorkItemQueryBuilder>();

            services.AddSingleton <IMigrationEngine, MigrationEngine>();

            services.AddSingleton <ExecuteOptions>((p) => null);

            _services = services.BuildServiceProvider();
        }
        protected static object RunInitAndReturnExitCode(InitOptions opts, TelemetryClient telemetryClient)
        {
            _TelemetryClient.TrackEvent("InitCommand");

            string configFile = opts.ConfigFile;

            if (string.IsNullOrEmpty(configFile))
            {
                configFile = "configuration.json";
            }
            Log.Information("ConfigFile: {configFile}", configFile);
            if (File.Exists(configFile))
            {
                Log.Information("Deleting old configuration.json reference file");
                File.Delete(configFile);
            }
            if (!File.Exists(configFile))
            {
                Log.Information("Populating config with {Options}", opts.Options.ToString());
                IEngineConfigurationBuilder cbuilder = new EngineConfigurationBuilder();
                EngineConfiguration         config;
                switch (opts.Options)
                {
                case OptionsMode.Full:
                    config = cbuilder.BuildDefault();
                    break;

                case OptionsMode.WorkItemTracking:
                    config = cbuilder.BuildWorkItemMigration();
                    break;

                default:
                    config = cbuilder.BuildDefault();
                    break;
                }

                string json = JsonConvert.SerializeObject(config, Formatting.Indented,
                                                          new FieldMapConfigJsonConverter(),
                                                          new ProcessorConfigJsonConverter());
                StreamWriter sw = new StreamWriter(configFile);
                sw.WriteLine(json);
                sw.Close();
                Log.Information("New configuration.json file has been created");
            }
            return(0);
        }
Beispiel #23
0
        public void Setup()
        {
            var ecb      = new EngineConfigurationBuilder(new NullLogger <EngineConfigurationBuilder>());
            var services = new ServiceCollection();

            // Core
            services.AddMigrationToolServicesForUnitTests();
            services.AddMigrationToolServicesForClientLegacyCore();
            services.AddMigrationToolServices();
            services.AddMigrationToolServicesLegacy();
            // Clients
            services.AddMigrationToolServicesForClientAzureDevOpsObjectModel();
            services.AddMigrationToolServicesForClientLegacyAzureDevOpsObjectModel();

            //
            services.AddSingleton <IEngineConfigurationBuilder, EngineConfigurationBuilder>();
            services.AddSingleton <EngineConfiguration>(ecb.BuildDefault());

            services.AddSingleton <IMigrationEngine, MigrationEngine>();

            _services = services.BuildServiceProvider();
        }
        public void BuildDefaultTest()
        {
            var ecb = new EngineConfigurationBuilder();

            ecb.BuildDefault();
        }
        public void BuildWorkItemMigrationTest()
        {
            var ecb = new EngineConfigurationBuilder();

            ecb.BuildWorkItemMigration();
        }
 public void CreateBuilder()
 {
     this.Builder = new EngineConfigurationBuilder();
 }
 public void CreateBuilder()
 {
     this.Builder = new EngineConfigurationBuilder();
 }