public async Task CanGetAfterSetting() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var secret = new SecretCrewMember(); sut.Reset(secret, false); sut.Values[secret.Guid] = new CrewMember { FirstName = SomeFirstName, SurName = SomeSurName, Rank = SomeRank }; var errorsAndInfos = new ErrorsAndInfos(); await sut.SetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); sut.Values.Remove(secret.Guid); Assert.IsNull(GetSecretCrewMember(sut, secret)); await sut.GetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); Assert.AreEqual(SomeFirstName, GetSecretCrewMember(sut, secret).FirstName); Assert.AreEqual(SomeSurName, GetSecretCrewMember(sut, secret).SurName); Assert.AreEqual(SomeRank, GetSecretCrewMember(sut, secret).Rank); CleanUpSecretRepository(false); }
public async Task CanGetDefault() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var errorsAndInfos = new ErrorsAndInfos(); await SetShouldDefaultSecretsBeStored(sut, true, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); var secret = new SecretCrewMember(); sut.Values[secret.Guid] = new CrewMember { FirstName = SomeFirstName }; sut.Reset(secret, false); Assert.IsNull(GetSecretCrewMember(sut, secret)); var crewMember = await sut.GetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); Assert.AreEqual(SecretCrewMember.DefaultFirstName, crewMember.FirstName); CleanUpSecretRepository(false); }
public void DoesNotExistInRepositoryAfterRemoval() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var secret = new SecretCrewMember(); sut.Reset(secret, false); Assert.IsFalse(sut.Exists(secret, false)); }
public async Task CanWorkWithAlternativePeghEnvironment() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var alternativeSut = AlternativeContainer.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(alternativeSut); var secret = new SecretCrewMember(); sut.Reset(secret, false); sut.Values[secret.Guid] = new CrewMember { FirstName = SomeFirstName, SurName = SomeSurName, Rank = SomeRank }; var errorsAndInfos = new ErrorsAndInfos(); await sut.SetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); secret = new SecretCrewMember(); alternativeSut.Reset(secret, false); alternativeSut.Values[secret.Guid] = new CrewMember { FirstName = "ALT " + SomeFirstName, SurName = "ALT" + SomeSurName, Rank = "ALT" + SomeRank }; errorsAndInfos = new ErrorsAndInfos(); await alternativeSut.SetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); sut.Values.Remove(secret.Guid); alternativeSut.Values.Remove(secret.Guid); await alternativeSut.GetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); Assert.AreEqual("ALT " + SomeFirstName, GetSecretCrewMember(alternativeSut, secret).FirstName); await sut.GetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); Assert.AreEqual(SomeFirstName, GetSecretCrewMember(sut, secret).FirstName); CleanUpSecretRepository(false); CleanUpSecretRepository(true); }
public async Task DoesNotExistAfterTryingToSaveInvalidXml() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var secret = new SecretCrewMember(); sut.Reset(secret, false); var valueOrDefault = secret.DefaultValue; var xml = Container.Resolve <IXmlSerializer>().Serialize(valueOrDefault).Replace("Crew", "Curfew"); var errorsAndInfos = new ErrorsAndInfos(); await sut.WriteToFileAsync(secret, xml, false, false, errorsAndInfos); Assert.IsTrue(errorsAndInfos.Errors.All(e => e.Contains("The \'http://www.aspenlaub.net:CurfewMember\' element is not declared")), errorsAndInfos.ErrorsToString()); Assert.IsFalse(sut.Exists(secret, false)); CleanUpSecretRepository(false); }
public async Task ExistsAfterSetting() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var secret = new SecretCrewMember(); sut.Reset(secret, false); var errorsAndInfos = new ErrorsAndInfos(); await sut.SetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); Assert.IsTrue(sut.Exists(secret, false)); sut.Reset(secret, false); Assert.IsFalse(sut.Exists(secret, false)); CleanUpSecretRepository(false); }
public async Task DefaultSecretIsNotReturnedIfSecretSaysItShouldNotBeSaved() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var errorsAndInfos = new ErrorsAndInfos(); await SetShouldDefaultSecretsBeStored(sut, false, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); var secret = new SecretCrewMember(); sut.Reset(secret, false); Assert.IsNull(await sut.GetAsync(secret, errorsAndInfos)); Assert.IsTrue(errorsAndInfos.Errors.Any(e => e.Contains("Secret has not been defined", StringComparison.InvariantCultureIgnoreCase)), errorsAndInfos.ErrorsToString()); CleanUpSecretRepository(false); }
public async Task DefaultSecretIsSavedIfSecretSaysSo() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var errorsAndInfos = new ErrorsAndInfos(); await SetShouldDefaultSecretsBeStored(sut, true, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); var secret = new SecretCrewMember(); sut.Reset(secret, false); await sut.GetAsync(secret, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); Assert.IsTrue(sut.Exists(secret, false)); CleanUpSecretRepository(false); }
public async Task DefaultSecretSampleIsSavedEvenIfSecretSaysNo() { var sut = Container.Resolve <ISecretRepository>() as SecretRepository; Assert.IsNotNull(sut); var errorsAndInfos = new ErrorsAndInfos(); await SetShouldDefaultSecretsBeStored(sut, false, errorsAndInfos); Assert.IsFalse(errorsAndInfos.Errors.Any(), errorsAndInfos.ErrorsToString()); CleanUpSecretRepository(false); var secret = new SecretCrewMember(); var folder = SecretRepositoryFolder(true, false); Assert.AreEqual(0, Directory.GetFiles(folder, secret.Guid + "*.*").Length); sut.SaveSample(secret, false); Assert.AreEqual(1, Directory.GetFiles(folder, secret.Guid + "*.xml").Length); Assert.AreEqual(1, Directory.GetFiles(folder, secret.Guid + "*.xsd").Length); CleanUpSecretRepository(false); }