Esempio n. 1
0
        public async Task PassesWhenNoParentKey()
        {
            var validator = new NestedKeysValidator();
            var files     = new Dictionary <string, string>
            {
                { "manifests/some/other/key", "" }
            };

            await validator.Validate("manifests/a/b.json", async x => files[x]);
        }
Esempio n. 2
0
        public async Task FailsWhenDeepParentKeyExists()
        {
            var validator = new NestedKeysValidator();
            var files     = new Dictionary <string, string>
            {
                { "manifests/a/b.json", "" }
            };

            await Assert.ThrowsAsync <NestedKeysException>(() =>
                                                           validator.Validate("manifests/a/b/c/d/e/f.json", async x => files[x]));
        }
Esempio n. 3
0
        public async Task DoesntGoIntoAnInfiniteLoopInEdgeCasesOrBadInput()
        {
            var validator = new NestedKeysValidator();
            var files     = new Dictionary <string, string>
            {
                { "manifests/a/b.json", "" }
            };

            await validator.Validate("", async x => files[x]);

            await validator.Validate("/something", async x => files[x]);

            await validator.Validate("something", async x => files[x]);

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

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