| using System.Collections.Generic; |
| using NUnit.Framework; |
| using Usergrid.Sdk.Model; |
| |
| namespace Usergrid.Sdk.IntegrationTests |
| { |
| public class MyUsergridGroup : UsergridGroup |
| { |
| public string Description { get; set; } |
| } |
| |
| [TestFixture] |
| public class GroupTests : BaseTest |
| { |
| [Test] |
| public void ShouldManageGroupLifecycle() |
| { |
| var client = new Client(Organization, Application); |
| client.Login(ClientId, ClientSecret, AuthType.Organization); |
| |
| var group = client.GetGroup<MyUsergridGroup>("group1"); |
| |
| if (group != null) |
| client.DeleteGroup("group1"); |
| |
| group = new MyUsergridGroup {Path = "group1", Title = "title1", Description = "desc1"}; |
| client.CreateGroup(group); |
| group = client.GetGroup<MyUsergridGroup>("group1"); |
| |
| Assert.IsNotNull(group); |
| Assert.AreEqual("group1", group.Path); |
| Assert.AreEqual("title1", group.Title); |
| Assert.AreEqual("desc1", group.Description); |
| |
| group.Description = "desc2"; |
| group.Title = "title2"; |
| |
| client.UpdateGroup(group); |
| |
| group = client.GetGroup<MyUsergridGroup>("group1"); |
| |
| Assert.IsNotNull(group); |
| Assert.AreEqual("group1", group.Path); |
| Assert.AreEqual("title2", group.Title); |
| Assert.AreEqual("desc2", group.Description); |
| |
| client.DeleteGroup("group1"); |
| |
| group = client.GetGroup<MyUsergridGroup>("group1"); |
| Assert.IsNull(group); |
| } |
| |
| [Test] |
| public void ShouldManageUsersInGroup() |
| { |
| var client = new Client(Organization, Application); |
| client.Login(ClientId, ClientSecret, AuthType.Organization); |
| |
| var user = SetupUsergridUser(client, new MyUsergridUser {UserName = "user1", Password = "user1", Email = "user1@gmail.com", City = "city1"}); |
| var group = SetupUsergridGroup(client, new MyUsergridGroup {Path = "group1", Title = "title1", Description = "desc1"}); |
| |
| client.AddUserToGroup(group.Path, user.UserName); |
| IList<UsergridUser> users = client.GetAllUsersInGroup<UsergridUser>(group.Path); |
| Assert.IsNotNull(users); |
| Assert.AreEqual(1, users.Count); |
| |
| client.DeleteUserFromGroup("group1", "user1"); |
| users = client.GetAllUsersInGroup<UsergridUser>(group.Path); |
| Assert.IsNotNull(users); |
| Assert.AreEqual(0, users.Count); |
| |
| client.DeleteGroup("group1"); |
| client.DeleteUser("user1"); |
| } |
| } |
| } |