示例#1
0
 protected override void ProcessRecord()
 {
     // no name provided? empty string looks for everything
     if (Name == null || Name.Length == 0)
     {
         Name = new string[] { "" };
     }
     foreach (var curName in Name)
     {
         try
         {
             var request = GroupRequestFactory.CreateGetGroupsRequest(curName, Scope.Equals(GroupScope.Global));
             var groups  = RequestHandler.ExecuteAndUnpack <List <NamedObject> >(request);
             foreach (var group in groups)
             {
                 if (!Exact.IsPresent || group.Name.Equals(curName))
                 {
                     WriteObject(group);
                 }
             }
         }
         catch (ReportableException e)
         {
             WriteError(e.ErrorRecord);
         }
     }
 }
示例#2
0
        public void QueryGroups(string query, bool globalGroup, bool expectFirst, bool expectSecond)
        {
            var groupResponse1 = DoAddGroup(_testGroupName, globalGroup, true);
            var groupResponse2 = DoAddGroup(_testGroupName2, globalGroup, true);
            var request        = GroupRequestFactory.CreateGetGroupsRequest(query, globalGroup);
            var groups         = RequestHandler.ExecuteAndUnpack <List <NamedObject> >(request);

            Assert.AreEqual(expectFirst, groups.Contains(groupResponse1.Data));
            Assert.AreEqual(expectSecond, groups.Contains(groupResponse2.Data));
        }
示例#3
0
 protected void DoRemoveAddedGroups()
 {
     //TODO: get the group with _testGroupName and remove it when found instead of using _newGroups
     foreach (long id in _autoRemoveGroups)
     {
         var req = GroupRequestFactory.CreateDeleteGroupRequest(id);
         RequestHandler.ExecuteSuccessfully <DataspaceResponse>(req);
     }
     _autoRemoveGroups.Clear();
 }
示例#4
0
        public void RemoveGroup(bool globalGroup)
        {
            var req           = GroupRequestFactory.CreateAddGroupRequest(_testGroupName, globalGroup);
            var groupResponse = RequestHandler.Execute <ObjectResponse <NamedObject> >(req);

            Assert.True(groupResponse.Success, "Group was not even added");
            req = GroupRequestFactory.CreateDeleteGroupRequest(groupResponse.Data.Id);
            var response = RequestHandler.Execute <DataspaceResponse>(req);

            Assert.True(response.Success, response.Message);
        }
示例#5
0
        public void GroupsAreAddedCorrectly(bool globalGroup)
        {
            // add a group first to make sure we have one. adding is tested in another test
            var addGroupResponse = DoAddGroup(_testGroupName, globalGroup, true);
            var req      = GroupRequestFactory.CreateGetGroupsRequest(globalGroup);
            var response = RequestHandler.ExecuteSuccessfully <ObjectResponse <List <NamedObject> > >(req);

            Assert.IsNotNull(response.Data);
            Assert.True(response.Data.Any());
            Assert.True(response.Data.Contains(addGroupResponse.Data), "GetGroups didn't get the test group");
        }
示例#6
0
        protected ObjectResponse <NamedObject> DoAddGroup(string name, bool globalGroup, bool autoRemove)
        {
            var req      = GroupRequestFactory.CreateAddGroupRequest(name, globalGroup);
            var response = RequestHandler.Execute <ObjectResponse <NamedObject> >(req);

            if (autoRemove)
            {
                _autoRemoveGroups.Add(response.Data.Id); //for cleanup
            }
            return(response);
        }
 protected override void ProcessRecord()
 {
     foreach (var curId in Id)
     {
         try
         {
             var request = GroupRequestFactory.CreateDeleteGroupRequest(curId);
             if (ShouldProcess(curId.ToString()))
             {
                 RequestHandler.ExecuteSuccessfully(request);
             }
         }
         catch (ReportableException e)
         {
             WriteError(e.ErrorRecord);
         }
     }
 }