Exemplo n.º 1
0
        public async Task ValidatePassWhenNoCircularDependencies()
        {
            var validator = new CircularDependencyValidator();
            var files     = new Dictionary <string, string>
            {
                ["manifests/a.json"] = JsonConvert.SerializeObject(new
                {
                    dependencies   = new[] { "b" },
                    key_name       = "a",
                    implementation = new
                    {
                        type = "jpad",
                    },
                }),
                ["manifests/b.json"] = JsonConvert.SerializeObject(new
                {
                    dependencies   = new[] { "c" },
                    key_name       = "b",
                    implementation = new
                    {
                        type = "jpad",
                    },
                }),
            };

            await validator.Validate("manifests/a.json", async x => files[x]);
        }
Exemplo n.º 2
0
        public async Task ValidateShouldDetectCircularDependenciesCreatedByAliases()
        {
            var validator = new CircularDependencyValidator();
            var files     = new Dictionary <string, string>
            {
                ["manifests/a.json"] = JsonConvert.SerializeObject(new
                {
                    dependencies   = new[] { "b" },
                    key_name       = "a",
                    implementation = new
                    {
                        type = "jpad",
                    },
                }),
                ["manifests/b.json"] = JsonConvert.SerializeObject(new
                {
                    key_name       = "b",
                    implementation = new
                    {
                        type = "alias",
                        key  = "a",
                    },
                }),
            };

            await Assert.ThrowsAsync <CircularValidationException>(() =>
                                                                   validator.Validate("manifests/a.json", async x => files[x]));
        }
Exemplo n.º 3
0
        public async Task ShouldWorkWithMultipleDepTrees()
        {
            var validator = new CircularDependencyValidator();
            var files     = new Dictionary <string, string>
            {
                ["manifests/a.json"] = JsonConvert.SerializeObject(new
                {
                    dependencies   = new[] { "b", "c" },
                    key_name       = "a",
                    implementation = new
                    {
                        type = "jpad",
                    },
                }),
                ["manifests/b.json"] = JsonConvert.SerializeObject(new
                {
                    key_name       = "b",
                    dependencies   = new[] { "d" },
                    implementation = new
                    {
                        type = "jpad",
                    },
                }),
                ["manifests/c.json"] = JsonConvert.SerializeObject(new
                {
                    key_name       = "c",
                    dependencies   = new[] { "d" },
                    implementation = new
                    {
                        type = "jpad",
                    },
                }),
                ["manifests/d.json"] = JsonConvert.SerializeObject(new
                {
                    key_name       = "d",
                    implementation = new
                    {
                        type = "jpad",
                    },
                }),
            };

            await validator.Validate("manifests/a.json", async x => files[x]);
        }