Example #1
0
        public void Login_NewUser_ValidUsername_200()
        {
            var controller                = new UserController();
            var user                      = ut.CreateSSOUserInDb();
            var timestamp                 = 12312445;
            var expectedStatusCode        = HttpStatusCode.SeeOther;
            MockLoginPayload mock_payload = new MockLoginPayload
            {
                ssoUserId = user.Id,
                email     = user.Username,
                timestamp = timestamp
            };
            var endpoint = API_ROUTE_LOCAL + "/api/user/login";

            var payload = new LoginRequestPayload
            {
                Email     = user.Username,
                SSOUserId = mock_payload.ssoUserId.ToString(),
                Timestamp = mock_payload.timestamp,
                Signature = mock_payload.Signature(),
            };

            controller.Request = new HttpRequestMessage
            {
                RequestUri = new Uri(endpoint)
            };
            var actionresult = controller.LoginFromSSO(payload);

            Assert.IsInstanceOfType(actionresult, typeof(Task <HttpResponseMessage>));
            Assert.IsNotNull(actionresult as Task <HttpResponseMessage>);
            var result = actionresult as Task <HttpResponseMessage>;

            Assert.AreEqual(expectedStatusCode, result.Result.StatusCode);
        }
Example #2
0
        public void Login_NewUser_ValidUserName_Success()
        {
            using (var _db = ut.CreateDataBaseContext())
            {
                _ssoLoginManager = new KFC_SSO_Manager(_db);
                var user      = ut.CreateSSOUserInDb();
                var timestamp = 8283752242;
                MockLoginPayload mock_payload = new MockLoginPayload
                {
                    email     = user.Username,
                    ssoUserId = user.Id,
                    timestamp = timestamp
                };

                var response = _ssoLoginManager.LoginFromSSO(mock_payload.email, mock_payload.ssoUserId, timestamp, mock_payload.Signature());
                Assert.IsNotNull(response);
            }
        }
Example #3
0
        public void LoginRegister_Invalid_Signature_401()
        {
            var controller         = new UserController();
            var existing_user      = ut.CreateSSOUserInDb();
            var existing_username  = existing_user.Username;
            var existing_ssoID     = existing_user.Id;
            var timestamp          = 23454252;
            var expectedStatusCode = HttpStatusCode.Unauthorized;

            MockLoginPayload mock_payload = new MockLoginPayload
            {
                ssoUserId = existing_ssoID,
                email     = existing_username,
                timestamp = timestamp
            };

            // modify payload value
            var alterdEmail = "*****@*****.**";

            var endpoint = API_ROUTE_LOCAL + "/api/user/login";

            LoginRequestPayload payload = new LoginRequestPayload
            {
                Email     = alterdEmail,
                SSOUserId = mock_payload.ssoUserId.ToString(),
                Timestamp = mock_payload.timestamp,
                Signature = mock_payload.Signature(),
            };

            controller.Request = new HttpRequestMessage
            {
                RequestUri = new Uri(endpoint)
            };

            var actionresult = controller.LoginFromSSO(payload);

            // returns a HTTPResponseMessage
            Assert.IsInstanceOfType(actionresult, typeof(Task <HttpResponseMessage>));
            var contentresult = actionresult as Task <HttpResponseMessage>;

            Assert.AreEqual(expectedStatusCode, contentresult.Result.StatusCode);
        }
Example #4
0
        public void Register_Attempt_InvalidSSOID_400()
        {
            var controller         = new UserController();
            var attemptedUsername  = "******";
            var attemptedSSOId     = Guid.NewGuid();
            var attemptedTimestamp = 2345678;
            var expectedStatusCode = HttpStatusCode.BadRequest;

            MockLoginPayload mock_payload = new MockLoginPayload
            {
                ssoUserId = attemptedSSOId,
                email     = attemptedUsername,
                timestamp = attemptedTimestamp
            };

            var endpoint = API_ROUTE_LOCAL + "/api/user/login";

            var makeAttemptedSSOIdInvalid = mock_payload.ssoUserId.ToString() + "838fjf57h2dhdn2dn";

            LoginRequestPayload payload = new LoginRequestPayload
            {
                Email     = mock_payload.email,
                SSOUserId = makeAttemptedSSOIdInvalid,
                Timestamp = mock_payload.timestamp,
                Signature = mock_payload.Signature(),
            };

            controller.Request = new HttpRequestMessage
            {
                RequestUri = new Uri(endpoint)
            };

            var actionresult = controller.LoginFromSSO(payload);

            // returns a HTTPResponseMessage
            Assert.IsInstanceOfType(actionresult, typeof(Task <HttpResponseMessage>));
            var contentresult = actionresult as Task <HttpResponseMessage>;

            Assert.AreEqual(expectedStatusCode, contentresult.Result.StatusCode);
        }
Example #5
0
        public void Login_ExistingUser_Success()
        {
            var existing_user             = ut.CreateSSOUserInDb();
            var existing_username         = existing_user.Username;
            var existing_ssoID            = existing_user.Id;
            var timestamp                 = 12312312;
            var _ssoAuth                  = new SignatureService();
            MockLoginPayload mock_payload = new MockLoginPayload
            {
                email     = existing_username,
                ssoUserId = existing_ssoID,
                timestamp = timestamp
            };
            var signature = mock_payload.Signature();

            using (var _db = ut.CreateDataBaseContext())
            {
                _ssoLoginManager = new KFC_SSO_Manager(_db);
                var response = _ssoLoginManager.LoginFromSSO(existing_username, existing_ssoID, timestamp, signature);
                Assert.IsNotNull(response);
            }
        }
Example #6
0
        public async void Login_NewUser_InvalidUserName_Failure_ExceptionThrown()
        {
            var invalid_username = Guid.NewGuid() + ".com";
            var valid_ssoID      = Guid.NewGuid();
            var timestamp        = 8283752242;

            MockLoginPayload mock_payload = new MockLoginPayload
            {
                email     = invalid_username,
                ssoUserId = valid_ssoID,
                timestamp = timestamp
            };

            var signature = mock_payload.Signature();

            using (var _db = ut.CreateDataBaseContext())
            {
                _ssoLoginManager = new KFC_SSO_Manager(_db);
                var result = await _ssoLoginManager.LoginFromSSO(invalid_username, valid_ssoID, timestamp, signature);
            }

            //Assert - catch exception
        }
Example #7
0
        public void Login_ExistingUser_ValidSSOID_200()
        {
            var controller        = new UserController();
            var existing_user     = ut.CreateSSOUserInDb();
            var existing_username = existing_user.Username;
            var existing_ssoID    = existing_user.Id;
            var timestamp         = 23454252;

            MockLoginPayload mock_payload = new MockLoginPayload
            {
                ssoUserId = existing_ssoID,
                email     = existing_username,
                timestamp = timestamp
            };

            var endpoint = API_ROUTE_LOCAL + "/api/user/login";

            var payload = new LoginRequestPayload
            {
                Email     = existing_username,
                SSOUserId = mock_payload.ssoUserId.ToString(),
                Timestamp = mock_payload.timestamp,
                Signature = mock_payload.Signature(),
            };

            controller.Request = new HttpRequestMessage
            {
                RequestUri = new Uri(endpoint)
            };
            var actionresult = controller.LoginFromSSO(payload);

            Assert.IsInstanceOfType(actionresult, typeof(Task <HttpResponseMessage>));
            var contentresult = actionresult as Task <HttpResponseMessage>;

            Assert.IsNotNull(contentresult);
        }