コード例 #1
0
        /// <summary>
        /// Creates test configuration
        /// </summary>
        /// <param name="repo">The package repository</param>
        /// <returns>The configuration</returns>
        private Configuration CreateConfiguration(IPackageRepository repo)
        {
            var template = new NodeTemplate
            {
                Code           = "node",
                Configuration  = "{}",
                ContainerTypes = new[] { "node" }.ToList(),
                Name = "node",
                PackageRequirements =
                    new[]
                {
                    new NodeTemplate.PackageRequirement(
                        "KlusterKite.NodeManager",
                        null)
                }.ToList()
            };

            var migrator = new MigratorTemplate
            {
                Code                = "migrator",
                Configuration       = "{}",
                Name                = "migrator",
                PackageRequirements =
                    new[]
                {
                    new NodeTemplate.PackageRequirement(
                        "KlusterKite.NodeManager.Tests",
                        null),
                    new NodeTemplate.PackageRequirement(
                        "Akka.Logger.Serilog",
                        null),
                }.ToList()
            };

            var packageDescriptions = repo.SearchAsync(string.Empty, true).GetAwaiter().GetResult()
                                      .Select(p => p.Identity).Select(
                p => new PackageDescription {
                Id = p.Id, Version = p.Version.ToString()
            }).ToList();

            var configurationSettings =
                new ConfigurationSettings
            {
                NodeTemplates = new[] { template }.ToList(),
                MigratorTemplates = new[] { migrator }.ToList(),
                Packages = packageDescriptions,
                NugetFeed = "http://nuget/",
                SeedAddresses = new[] { "http://seed" }.ToList()
            };

            var configuration = new Configuration {
                Settings = configurationSettings
            };

            return(configuration);
        }
コード例 #2
0
        /// <summary>
        /// Creates the default configuration
        /// </summary>
        /// <param name="packages">The list of defined packages to override</param>
        /// <param name="templatePackageRequirements">The template package requirements</param>
        /// <returns>The configuration</returns>
        internal static Configuration CreateConfiguration(string[] packages = null, string[] templatePackageRequirements = null)
        {
            if (packages == null)
            {
                packages = new[] { "p1 1.0.0", "p2 1.0.0", "dp1 1.0.0", "dp2 1.0.0", "KlusterKite.NodeManager.Migrator.Executor 1.0.0" };
            }

            if (templatePackageRequirements == null)
            {
                templatePackageRequirements = new[] { "p1", "p2 1.0.0" };
            }

            var packageDescriptions = new List <PackageDescription>(CreatePackageDescriptions(packages));

            var nodeTemplates = new List <NodeTemplate>();
            var t1            = new NodeTemplate
            {
                Code                = "t1",
                Configuration       = "t1",
                PackageRequirements = CreatePackageRequirement(templatePackageRequirements),
                ContainerTypes      = new List <string> {
                    "test"
                }
            };

            nodeTemplates.Add(t1);

            var migratorTemplates = new List <MigratorTemplate>();
            var m1 = new MigratorTemplate
            {
                Code                = "m1",
                Configuration       = "m1",
                PackageRequirements =
                    CreatePackageRequirement(templatePackageRequirements)
            };

            migratorTemplates.Add(m1);

            var configurationSettings =
                new ConfigurationSettings
            {
                Packages          = packageDescriptions,
                NodeTemplates     = nodeTemplates,
                MigratorTemplates = migratorTemplates
            };

            return(new Configuration {
                Settings = configurationSettings
            });
        }