Exemplo n.º 1
0
        public async Task CanGetJwt()
        {
            var sut = await VaultHelper.CreateAsync(Config);

            var secret = await sut.GetLiveSecretAsync("JWT", SecretGetters.MakeJwtGetter("auth", TimeSpan.FromSeconds(1), "vandelay", "tester"));

            var firstValue = secret.Value;

            firstValue.Should().NotBeEmpty();

            await Task.Delay(TimeSpan.FromSeconds(1));

            var secondValue = secret.Value;

            secondValue.Should().NotBeEmpty();

            secondValue.Should().NotBe(firstValue, "the token should have been refreshed");

            secret.Dispose();

            await Task.Delay(TimeSpan.FromSeconds(1));

            Func <string> lateGet = () => secret.Value;

            lateGet.Should().Throw <Exception>("the secret value cannot be read after it is disposed");
        }
Exemplo n.º 2
0
        public async Task CanGetMongoCreds()
        {
            var sut = await VaultHelper.CreateAsync(Config);

            var secret = await sut.GetLiveSecretAsync("MongoDB", SecretGetters.MakeSecretTemplateGetter("mongodb://(vault://database/creds/mongodb-admin?template={{.username}}:{{.password}})@mongodb:27017/go-between?readPreference=primary"));

            var firstValue = secret.Value;

            firstValue.Should().NotBeEmpty();
            firstValue.Should().MatchRegex(@"mongodb:\/\/[^:]+[^@]+@", "the username and password should be mapped in");
        }