public void CommitTest() { // Setup var newObj = RandomObjectFactory.GenerateRandomObject <AddressObject>(); AddableRepository.Add(newObj); var makeChangeScript = $"$obj = {newObj.ToPsScript()};Add-PANOSObject -ConnectionProperties $ConnectionProperties -FirewallObject $obj"; PsRunner.ExecutePanosPowerShellScript(makeChangeScript); // Test const string CommitScript = "Save-PANOSChanges -ConnectionProperties $ConnectionProperties"; var results = PsRunner.ExecutePanosPowerShellScript(CommitScript); // Validate Assert.IsNotNull(results[0]); var apiEnqueuedResponse = results[0].BaseObject as ApiEnqueuedResponse; Assert.IsNotNull(apiEnqueuedResponse); var job = apiEnqueuedResponse.Job; Assert.IsNotNull(job); Assert.IsTrue(job.Id > 0); // Cleanup this.DeletableRepository.Delete(newObj.SchemaName, newObj.Name); }
public void ShouldAddSingleMemberPassedAsParameter() { // Setup var sut = RandomObjectFactory.GenerateRandomObject <TGroup>(); AddableRepository.Add(sut); var newMember = RandomObjectFactory.GenerateRandomObject <TMember>(); AddableRepository.Add(newMember); // Test var script = $"Add-{noun} -GroupName {sut.Name} -MemberName {newMember.Name};"; psTestRunner.ExecuteCommand(script); // Validate var updatedGroup = searchableRepository.GetSingle <TGroupDeserializer>(sut.Name, ConfigTypes.Candidate).Single(); Assert.IsTrue(updatedGroup.Members.Contains(newMember.Name)); Assert.AreNotEqual(sut.Members.Count, updatedGroup.Members.Count); Assert.IsTrue((updatedGroup.Members.Count - sut.Members.Count) == 1); // Cleanup DeletableRepository.Delete(sut.SchemaName, sut.Name); foreach (var member in updatedGroup.Members) { DeletableRepository.Delete(newMember.SchemaName, member); } }
// "is not a valid reference" public void ShouldThrowExceptionWhenAddingNonExistingMember() { // Setup var sut = RandomObjectFactory.GenerateRandomObject <TGroup>(); AddableRepository.Add(sut); var newMember = RandomObjectFactory.GenerateRandomName(); // Test var script = $"Add-{noun} -GroupName {sut.Name} -MemberName {newMember};"; Assert.That(() => psTestRunner.ExecuteCommand(script), Throws.Exception); }
public void ShouldDeleteObject() { // Precondition var sut = RandomObjectFactory.GenerateRandomObject <T>(); AddableRepository.Add(sut); Assert.IsTrue(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any()); // Test DeletableRepository.Delete(sut.SchemaName, sut.Name); // Postcondition Assert.IsFalse(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any()); }
public void ShouldDeleteSingleByNamePassedAsParameter() { // Setup var sut = RandomObjectFactory.GenerateRandomObject <T>(); AddableRepository.Add(sut); Assert.IsTrue(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any()); // Test var script = $"$name = '{sut.Name}';Remove-{this.noun} -Name $name;"; psTestRunner.ExecuteCommand(script); // Validate Assert.IsFalse(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any()); }
public void ShouldDeleteAndPassThruObjectTest() { // Setup var sut = RandomObjectFactory.GenerateRandomObject <T>(); AddableRepository.Add(sut); Assert.IsTrue(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any()); // Test var script = $"$obj = {sut.ToPsScript()};Remove-{noun} -{noun} $obj -PassThru;"; var passThruObject = psTestRunner.ExecuteCommandWithPasThru(script); // Validate Assert.IsFalse(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any()); Assert.IsNotNull(passThruObject); Assert.AreEqual(passThruObject, sut); }
public void CommitWhileAnotherCommitIsInProgressTest() { // Setup var newObj = RandomObjectFactory.GenerateRandomObject <AddressObject>(); AddableRepository.Add(newObj); var makeChangeScript = $"$obj = {newObj.ToPsScript()};Add-PANOSObject -ConnectionProperties $ConnectionProperties -FirewallObject $obj"; PsRunner.ExecutePanosPowerShellScript(makeChangeScript); // Test const string CommitScript = "Save-PANOSChanges -ConnectionProperties $ConnectionProperties"; PsRunner.ExecutePanosPowerShellScript(CommitScript); Assert.That(() => PsRunner.ExecutePanosPowerShellScript(CommitScript), Throws.TypeOf <CmdletInvocationException>()); }
public void Setup() { this.sut = new List <T> { RandomObjectFactory.GenerateRandomObject <T>(), RandomObjectFactory.GenerateRandomObject <T>() }; foreach (var objectUnderTest in this.sut) { AddableRepository.Add(objectUnderTest); } if (configType == ConfigTypes.Running) { CommitCandidateConfig(); } }
public void ShouldRenameObject() { // Setup var sut = RandomObjectFactory.GenerateRandomObject <T>(); AddableRepository.Add(sut); // Test var newName = RandomObjectFactory.GenerateRandomName(); renamableRepository.Rename(sut.SchemaName, sut.Name, newName); // Postcondition Assert.IsTrue(searchableRepository.GetSingle <TDeserializer>(newName, ConfigTypes.Candidate).Any()); Assert.IsFalse(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any()); // Clean-up DeletableRepository.Delete(sut.SchemaName, newName); }
public void ShouldDeleteMultipleByNamePassedAsParameter() { // Setup var sut = RandomObjectFactory.GenerateRandomObjects <T>(); foreach (var obj in sut) { AddableRepository.Add(obj); Assert.IsTrue(searchableRepository.GetSingle <TDeserializer>(obj.Name, ConfigTypes.Candidate).Any()); } // Test var script = $"$name1 = '{sut[0].Name}'; $name2 = '{sut[1].Name}'; Remove-{noun} -Name $name1, $name2;"; psTestRunner.ExecuteCommand(script); // Validate foreach (var obj in sut) { Assert.IsFalse(searchableRepository.GetSingle <TDeserializer>(obj.Name, ConfigTypes.Candidate).Any()); } }
public void ShouldDeleteMultipleByObjectPassedViaPipeline() { // Setup var sut = RandomObjectFactory.GenerateRandomObjects <T>(); foreach (var obj in sut) { AddableRepository.Add(obj); Assert.IsTrue(searchableRepository.GetSingle <TDeserializer>(obj.Name, ConfigTypes.Candidate).Any()); } // Test var script = $"$obj1 = {sut[0].ToPsScript()}; $obj2 = {sut[1].ToPsScript()}; $obj1, $obj2 | Remove-{this.noun};"; psTestRunner.ExecuteCommand(script); // Validate foreach (var obj in sut) { Assert.IsFalse(searchableRepository.GetSingle <TDeserializer>(obj.Name, ConfigTypes.Candidate).Any()); } }