コード例 #1
0
        public void CreateEntityShouldPostToCorrectEndPoint()
        {
            const string collectionName = "collection";
            var          entityToPost   = new Friend {
                Name = "name1", Age = 1
            };
            var restResponseContent = new UsergridGetResponse <Friend> {
                Entities = new List <Friend> {
                    entityToPost
                }, Cursor = "cursor"
            };
            IRestResponse <UsergridGetResponse <Friend> > restResponse = Helpers.SetUpRestResponseWithContent <UsergridGetResponse <Friend> >(HttpStatusCode.OK, restResponseContent);

            _request
            .ExecuteJsonRequest(Arg.Any <string>(), Arg.Any <Method>(), Arg.Any <object>())
            .Returns(restResponse);

            Friend returnedEntity = _entityManager.CreateEntity(collectionName, entityToPost);

            _request.Received(1).ExecuteJsonRequest(
                Arg.Is(string.Format("/{0}", collectionName)),
                Arg.Is(Method.POST),
                Arg.Is(entityToPost));

            Assert.AreEqual(entityToPost.Age, returnedEntity.Age);
            Assert.AreEqual(entityToPost.Name, returnedEntity.Name);
        }
コード例 #2
0
        public void CreateNotifierForAppleExecutesMultipartFormDataRequestWithCorrectParameters()
        {
            IRestResponse restResponse = Helpers.SetUpRestResponse(HttpStatusCode.OK);

            _request.ExecuteMultipartFormDataRequest(Arg.Any <string>(), Arg.Any <Method>(), Arg.Any <IDictionary <string, object> >(), Arg.Any <IDictionary <string, string> >())
            .Returns(restResponse);

            _notificationsManager.CreateNotifierForApple("notifierName", "development", @"C:\filePath");

            _request.Received(1).ExecuteMultipartFormDataRequest(
                "/notifiers",
                Method.POST,
                Arg.Is <IDictionary <string, object> >(d => (string)d["name"] == "notifierName" && (string)d["provider"] == "apple" && (string)d["environment"] == "development"),
                Arg.Is <IDictionary <string, string> >(d => d["p12Certificate"] == @"C:\filePath"));
        }
コード例 #3
0
        public void ShouldPassCorrectAccessToken()
        {
            const string     accessToken = "access_token";
            IUsergridRequest request     = Helpers.InitializeUserGridRequestWithAccessToken(accessToken);

            var restResponseContent = new UsergridGetResponse <Friend> {
                Entities = new List <Friend>(), Cursor = ""
            };
            IRestResponse <UsergridGetResponse <Friend> > restResponse = Helpers.SetUpRestResponseWithContent <UsergridGetResponse <Friend> >(HttpStatusCode.OK, restResponseContent);

            request
            .Execute(Arg.Any <string>(), Arg.Any <Method>(), Arg.Any <object>(), Arg.Any <string>())
            .Returns(restResponse);

            const string collectionName = "collection";
            const string entityName     = "entity";

            var client = new Client(null, null, request: request);

            client.Login(null, null, AuthType.ClientId);
            var friend = client.GetEntity <Friend>(collectionName, entityName);

            Assert.IsNull(friend);

            request.Received(1).Execute(
                Arg.Is(string.Format("/{0}/{1}", collectionName, entityName)),
                Arg.Is(Method.GET),
                Arg.Any <object>(),
                accessToken);
        }
コード例 #4
0
        public void ShouldSetTheAccessToken(string accessToken, AuthType authType)
        {
            IUsergridRequest request = Helpers.InitializeUserGridRequestWithAccessToken(accessToken);

            var authenticationManager = new AuthenticationManager(request);

            authenticationManager.Login(null, null, authType);

            request.Received(1).AccessToken = accessToken;
        }
コード例 #5
0
        public void ShouldLoginWithUserCredentialsWithCorrectRequestBodyForAuthTypeUser()
        {
            IUsergridRequest request = Helpers.InitializeUserGridRequestWithAccessToken("accessToken");

            const string clientLoginId = "login";
            const string clientSecret  = "secret";

            var authenticationManager = new AuthenticationManager(request);

            authenticationManager.Login(clientLoginId, clientSecret, AuthType.User);

            request
            .Received(1)
            .ExecuteJsonRequest <LoginResponse>(
                Arg.Any <string>(),
                Arg.Any <Method>(),
                Arg.Is <UserLoginPayload>(d => d.GrantType == "password" && d.UserName == clientLoginId && d.Password == clientSecret));
        }
コード例 #6
0
        public void GetAllUsersInGroupShouldGetAllUsersInGroup()
        {
            var expectedUserList = new List <UsergridUser>()
            {
                new UsergridUser()
                {
                    UserName = "******", Name = "user1"
                }
            };
            var responseContent = new UsergridGetResponse <UsergridUser>()
            {
                Entities = expectedUserList
            };
            var restResponse = Helpers.SetUpRestResponseWithContent <UsergridGetResponse <UsergridUser> >(HttpStatusCode.OK, responseContent);

            _request.ExecuteJsonRequest("/groups/groupName/users", Method.GET).Returns(restResponse);

            var returnedUsers = _client.GetAllUsersInGroup <UsergridUser>("groupName");

            _request.Received(1).ExecuteJsonRequest("/groups/groupName/users", Method.GET);
            Assert.AreEqual(1, returnedUsers.Count);
            Assert.AreEqual("userName", returnedUsers[0].UserName);
            Assert.AreEqual("user1", returnedUsers[0].Name);
        }
コード例 #7
0
        public void CreateConnectionShouldPostToCorrectEndpoint()
        {
            var connection = new Connection
            {
                ConnectorCollectionName = "users",
                ConnectorIdentifier     = "userName",
                ConnecteeCollectionName = "devices",
                ConnecteeIdentifier     = "deviceName",
                ConnectionName          = "has"
            };
            IRestResponse restResponse = Helpers.SetUpRestResponse(HttpStatusCode.OK);

            _request
            .ExecuteJsonRequest(Arg.Any <string>(), Arg.Any <Method>(), Arg.Any <object>())
            .Returns(restResponse);

            _connectionManager.CreateConnection(connection);

            _request
            .Received(1)
            .ExecuteJsonRequest(
                "/users/userName/has/devices/deviceName",
                Method.POST);
        }