public async Task NoCredentialsAreStored_NullReturned(
            Application.CredentialsNS.CredentialsRepository credentialsRepository)
        {
            // arrange

            // act
            var loadedCredentials = await credentialsRepository.LoadAsync();

            // assert
            loadedCredentials.Should().BeNull();
        }
Exemple #2
0
        public async Task CredentialsAreStored_StorageIsNotBeEmpty(
            [Frozen] ICredentialsStorageProvider storageProvider,
            Application.CredentialsNS.CredentialsRepository credentialsRepository)
        {
            // arrange
            var credentials = new Credentials("TestUsername", "TestPassword");

            // act
            await credentialsRepository.StoreAsync(credentials);

            // assert
            storageProvider.GetStorage().Length.Should().BeGreaterThan(0, "credentials should have been stored");
        }
        public async Task CredentialsAreStored_CredentialsAreLoaded(
            Application.CredentialsNS.CredentialsRepository credentialsRepository)
        {
            // arrange
            var storedCredentials = new Credentials("TestUsername", "TestPassword");
            await credentialsRepository.StoreAsync(storedCredentials);

            // act
            var loadedCredentials = await credentialsRepository.LoadAsync();

            // assert
            loadedCredentials.Should().Be(storedCredentials);
        }
Exemple #4
0
        public async Task StoringCredentialsTwice_ShouldLoadLatestCredentials(
            [Frozen] ICredentialsStorageProvider storageProvider,
            Application.CredentialsNS.CredentialsRepository credentialsRepository)
        {
            // arrange
            var firstCredentials  = new Credentials("AAA", "BBB");
            var secondCredentials = new Credentials("Z", "Y");

            // act
            await credentialsRepository.StoreAsync(firstCredentials);

            await credentialsRepository.StoreAsync(secondCredentials);

            var loadedCredentials = await credentialsRepository.LoadAsync();

            // assert
            loadedCredentials.Should().Be(secondCredentials);
        }
Exemple #5
0
        public async Task CredentialsAreStored_CredentialsAreEncrypted(
            [Frozen] ICredentialsStorageProvider storageProvider,
            Application.CredentialsNS.CredentialsRepository credentialsRepository)
        {
            // arrange
            var credentials = new Credentials("TestUsername", "TestPassword");

            // act
            await credentialsRepository.StoreAsync(credentials);

            // assert
            string credentialStorageAsString;

            using (var streamReader = new StreamReader(storageProvider.GetStorage()))
            {
                credentialStorageAsString = await streamReader.ReadToEndAsync();
            }

            credentialStorageAsString.Should()
            .NotContainAny(new[] { credentials.Username, credentials.Password }, "Storing unencrypted credentials is unsafe");
        }