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);
            }
        }
Exemple #2
0
        public void ShouldAddSingleFromObjectPassedAsParameter()
        {
            // Setup
            var sut = RandomObjectFactory.GenerateRandomObject <T>();

            // Test
            var script = string.Format(
                "$obj = {0};{1}-{2} -{3} $obj", sut.ToPsScript(), verb, noun, noun);

            psTestRunner.ExecuteCommand(script);

            // Validate
            var confirmationObject = searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate);

            Assert.IsTrue(confirmationObject.Any());
            Assert.AreEqual(sut, confirmationObject.Single());

            // Cleanup
            DeletableRepository.Delete(sut.SchemaName, sut.Name);
        }
        public void ShouldDeleteSingleByObjectPassedAsParameter()
        {
            // Setup
            var sut = RandomObjectFactory.GenerateRandomObject <T>();

            this.AddableRepository.Add(sut);
            Assert.IsTrue(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any());

            // Test
            var script = $"$obj = {sut.ToPsScript()};Remove-{this.noun} -{this.noun} $obj;";

            psTestRunner.ExecuteCommand(script);

            // Validate
            Assert.IsFalse(searchableRepository.GetSingle <TDeserializer>(sut.Name, ConfigTypes.Candidate).Any());
        }