Exemple #1
0
        public void DuplicateParameters(Fields field, Values value)
        {
            var    creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var    defaultPassword    = creds.Users.Values.Single().Password;
            string NewPasswordNotSame = NewPassword + "123";

            var parametersSameValue = new Dictionary <Fields, string>
            {
                [Fields.OldPassword]       = "{\"newPassword\": \"" + NewPassword + "\", \"oldPassword\": \"" + defaultPassword + "\", \"oldPassword\": \"" + defaultPassword + "\", \"checkOldPasswords\":5}",
                [Fields.NewPassword]       = "{\"newPassword\": \"" + NewPassword + "\", {\"newPassword\": \"" + NewPassword + "\", \"oldPassword\": \"" + defaultPassword + "\", \"checkOldPasswords\":5}",
                [Fields.CheckOldPasswords] = "{\"newPassword\": \"" + NewPassword + "\", \"oldPassword\": \"" + defaultPassword + "\", \"checkOldPasswords\":5, \"checkOldPasswords\":5}",
            };

            var parametersNotSameValue = new Dictionary <Fields, string>
            {
                [Fields.OldPassword]       = "{\"newPassword\": \"" + NewPassword + "\", \"oldPassword\": \"" + defaultPassword + "\", \"oldPassword\": \"" + defaultPassword + "NotSame" + "\", \"checkOldPasswords\":5}",
                [Fields.NewPassword]       = "{\"newPassword\": \"" + NewPassword + "\", {\"newPassword\": \"" + NewPasswordNotSame + "\", \"oldPassword\": \"" + defaultPassword + "\", \"checkOldPasswords\":5}",
                [Fields.CheckOldPasswords] = "{\"newPassword\": \"" + NewPassword + "\", \"oldPassword\": \"" + defaultPassword + "\", \"checkOldPasswords\":5, \"checkOldPasswords\":6}"
            };

            var updatePassHandler = new UpdatePasswordManager();
            var response          = updatePassHandler.UpdatePassword(value == Values.Same ? parametersSameValue[field] : parametersNotSameValue[field], System.Net.Http.HttpMethod.Put);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest));
        }
        public void DuplicateParametersTest(Fields field, Values value)
        {
            var creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId        = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var readSessionHandler = new HrbcCoreManager();
            var firstSessionId     = readSessionHandler.GetDefaultSessionId(_testConnection);
            var secondSessionId    = readSessionHandler.GetDefaultSessionId(_testConnection);

            var parametersSameValue = new Dictionary <Fields, string>
            {
                [Fields.CompanyId] = $"companyId={CompanyId}&companyId={CompanyId}&userId={adminUserId}&sessionId={firstSessionId}",
                [Fields.UserId]    = $"companyId={CompanyId}&userId={adminUserId}&userId={adminUserId}&sessionId={firstSessionId}",
                [Fields.SessionId] = $"companyId={CompanyId}&userId={adminUserId}&sessionId={firstSessionId}&sessionId={firstSessionId}"
            };

            var parametersNotSameValue = new Dictionary <Fields, string>
            {
                [Fields.CompanyId] = $"companyId={CompanyId}&companyId={SecondCompanyId}&userId={adminUserId}&sessionId={firstSessionId}",
                [Fields.UserId]    = $"companyId={CompanyId}&userId={NormalUserId}&userId={adminUserId}&sessionId={firstSessionId}",
                [Fields.SessionId] = $"companyId={CompanyId}&userId={adminUserId}&sessionId={firstSessionId}&sessionId={secondSessionId}"
            };

            creds.Dispose();

            var response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, value == Values.Same ? parametersSameValue[field] : parametersNotSameValue[field]);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest));
        }
Exemple #3
0
        public void InvalidEntrySpecial(InvalidSpecialCondition inputType)
        {
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var defaultPassword   = creds.Users.Values.Single().Password.ToString();
            var updatePassHandler = new UpdatePasswordManager();
            var parameterRequest  = new Dictionary <string, object>(Common.UpdatePasswordParameters);
            PrivateApiResponse <object> response = null;

            if (inputType == InvalidSpecialCondition.WrongContentType)
            {
                response = updatePassHandler.UpdatePassword(parameterRequest, System.Net.Http.HttpMethod.Put, InvalidEntrySpecialTestCasesMapper[InvalidSpecialCondition.WrongContentType].ToString());
            }
            else
            {
                string jsonContent = string.Empty;
                if (inputType == InvalidSpecialCondition.BrokenJsonFormat)
                {
                    jsonContent = string.Format(InvalidEntrySpecialTestCasesMapper[InvalidSpecialCondition.BrokenJsonFormat].ToString(), defaultPassword);
                }
                else
                {
                    jsonContent = InvalidEntrySpecialTestCasesMapper[inputType].ToString();
                }
                response = updatePassHandler.UpdatePassword(jsonContent, System.Net.Http.HttpMethod.Put);
            }
            LastPassword = Common.CheckUpdatedPassword(response) ? NewPassword : string.Empty;
            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest));
        }
        public void InjectionTest(Fields field, InjectionInput inputType)
        {
            var headerValue       = string.Empty;
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserPassword = creds.Companies.First().Value.Users.First().Password;
            var adminUserLogin    = creds.Companies.First().Value.Users.First().Login;
            var adminUserId       = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var companyId         = creds.Companies.First().Value.Id;
            var companyName       = creds.Companies.First().Value.Name;

            creds.Dispose();

            if (Fields.CID == field)
            {
                headerValue = GetFormatIdentityHeader(InjectionInputData.InjectionInputMapper[inputType], adminUserId, DefaultService);
            }
            else if (Fields.UID == field)
            {
                headerValue = GetFormatIdentityHeader(companyId, InjectionInputData.InjectionInputMapper[inputType], DefaultService);
            }
            else
            {
                headerValue = GetFormatIdentityHeader(companyId, adminUserId, InjectionInputData.InjectionInputMapper[inputType]);
            }
            var internalHandler = new InternalApiManager(InitPrivateApiConnection(companyName, adminUserLogin, adminUserPassword));
            var response        = internalHandler.SendRequestWithIdentityHeader(InternalAuthRequest, "X-IDENTITY", headerValue, HttpMethod.Post);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.Unauthorized));
        }
Exemple #5
0
        public void UpdatePassOverCheckOldPasswordNumber()
        {
            var           creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var           defaultUserName   = creds.Companies.First().Value.Users.First().Login;
            var           defaultPassword   = creds.Companies.First().Value.Users.First().Password;
            int           checkOldPasswords = 5;
            List <string> arrPassword       = new List <string>();

            //Update a list of passwords
            for (var i = 0; i < checkOldPasswords + 3; i++)
            {
                arrPassword.Add(TestContext.CurrentContext.Random.GetString(8, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"));
                Common.UpdateNewPassword(arrPassword[i], LastPassword == string.Empty ? defaultPassword : LastPassword);
                LastPassword = arrPassword[i];
            }

            //Update password
            var updatePassRequest = new Dictionary <string, object>(Common.UpdatePasswordParameters);

            updatePassRequest["oldPassword"]       = LastPassword;
            updatePassRequest["newPassword"]       = arrPassword[checkOldPasswords + 1];
            updatePassRequest["checkOldPasswords"] = checkOldPasswords;

            var updatePassHandler = new UpdatePasswordManager();
            var response          = updatePassHandler.UpdatePassword(updatePassRequest, HttpMethod.Put);

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent));
        }
Exemple #6
0
        public void CheckOldPasswordValid(ValidCheckOldPasswordTestCases inputType)
        {
            var creds                 = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var defaultUserName       = creds.Companies.First().Value.Users.First().Login;
            var defaultPassword       = creds.Companies.First().Value.Users.First().Password;
            var defaultCompanyLoginId = creds.Companies.First().Value.Name;

            string token             = Common.RefreshToken(defaultCompanyLoginId, defaultUserName);
            int    checkOldPasswords = int.Parse(CheckOldPasswordMappingValues[inputType].ToString());

            for (int i = 0; i < checkOldPasswords + 1; i++)
            {
                Common.UpdateNewPassword(Passwords[i], LastPassword == string.Empty ? defaultPassword : LastPassword);
                LastPassword = Passwords[i];
            }

            //Update password
            var updatePassRequest = new Dictionary <string, object>(Common.UpdatePasswordParameters);

            updatePassRequest["oldPassword"]       = LastPassword;
            updatePassRequest["newPassword"]       = Passwords[checkOldPasswords];
            updatePassRequest["checkOldPasswords"] = checkOldPasswords;

            var updatePassHandler = new UpdatePasswordManager();
            var response          = updatePassHandler.UpdatePassword(updatePassRequest, HttpMethod.Put);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.Conflict));
        }
Exemple #7
0
        public void UrlParamCompanyIdLoginTest(string parameterName, InputType inputType)
        {
            var creds      = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var parameters = ValidationTestData.UrlParameterInputToTransformationMap[inputType](new Dictionary <string, string> {
                ["companyId"] = creds.Companies.Single().Value.Partition
            }, parameterName);

            using (var response = _testConnection.SendAsync(CommonConstants.LoginUrl, parameters, System.Net.Http.HttpMethod.Get).Result)
            {
                VerifyInvalidUrlResponse(parameterName, inputType, response);
            }
        }
        private SettingSetRequest GenerateSettingUpdateRequest()
        {
            var creds = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();

            return(new SettingSetRequest
            {
                AllowedRolePwdLogin = 2,
                SsoEnabled = true,
                ComnanyId = Convert.ToInt32(creds.Companies.Single().Value.Partition),
                LoginUrl = "http://test.com"
            });
        }
Exemple #9
0
        private static string GetDuplicatedToken()
        {
            var creds = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            using (var connection = new AuthApiConnection())
            {
                System.Threading.Thread.Sleep(2000);

                connection.Authenticate(creds.Companies.Single().Value.Name, creds.Users.Single().Value.Login, creds.Users.Single().Value.Password);

                return AuthApiConnection.GetConnectionForCurrentTest().GetCookieValue("HRBCAUTH");
            }
        }
Exemple #10
0
        public void UpdatePasswordInjection(Fields field, InjectionInput inputType)
        {
            var creds            = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var defaultPassword  = creds.Users.Values.Single().Password.ToString();
            var parameterRequest = new Dictionary <string, object>(Common.UpdatePasswordParameters);

            parameterRequest["oldPassword"] = defaultPassword;
            parameterRequest[Char.ToLowerInvariant(field.ToString()[0]) + field.ToString().Substring(1)] = InjectionInputData.InjectionInputMapper[inputType];
            var updatePassHandler = new UpdatePasswordManager();
            var response          = updatePassHandler.UpdatePassword(parameterRequest, System.Net.Http.HttpMethod.Put);

            LastPassword = Common.CheckUpdatedPassword(response) ? InjectionInputData.InjectionInputMapper[inputType].ToString() : string.Empty;
            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest));
        }
Exemple #11
0
        public void UpdatePasswordValid(ValidNewPasswordTestCases inputType)
        {
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var defaultPassword   = creds.Companies.First().Value.Users.First().Password;
            var updatePassRequest = new Dictionary <string, object>(Common.UpdatePasswordParameters);

            updatePassRequest["newPassword"] = NewPasswordMappingValues[inputType];
            updatePassRequest["oldPassword"] = defaultPassword;
            var updatePassHandler = new UpdatePasswordManager();
            var response          = updatePassHandler.UpdatePassword(updatePassRequest, HttpMethod.Put);

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.NoContent));
            LastPassword = NewPasswordMappingValues[inputType].ToString();
        }
Exemple #12
0
        private Dictionary <string, object> GetParameters(InvalidPasswordTestCases inputType, Fields field)
        {
            var parameterRequest = new Dictionary <string, object>(Common.UpdatePasswordParameters);
            var fieldName        = Char.ToLowerInvariant(field.ToString()[0]) + field.ToString().Substring(1);

            var creds           = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var defaultPassword = creds.Users.Values.Single().Password.ToString();

            parameterRequest["oldPassword"] = defaultPassword;
            parameterRequest[fieldName]     = PasswordMappingValues[inputType];

            switch (inputType)
            {
            case InvalidPasswordTestCases.Array:
                parameterRequest[fieldName] = new List <int>()
                {
                    123, 456, 789
                };
                break;

            case InvalidPasswordTestCases.CurrentPassword:
                parameterRequest[fieldName] = defaultPassword;
                break;

            case InvalidPasswordTestCases.PreviousPassword:
                Common.UpdateNewPassword(NewPassword, defaultPassword);
                parameterRequest[fieldName] = defaultPassword;
                break;

            case InvalidPasswordTestCases.Missing:
                parameterRequest.Remove(fieldName);
                break;

            case InvalidPasswordTestCases.NoneExistField:
                if (field != Fields.CheckOldPasswords)
                {
                    parameterRequest["oldPassword"] = defaultPassword;
                    parameterRequest["newPassword"] = NewPassword;
                }
                else
                {
                    parameterRequest["checkOldPasswords"] = 5;
                }
                parameterRequest["my" + field.ToString()] = "23";
                break;
            }
            return(parameterRequest);
        }
        public void ReadHrbcCoreSessionByOtherHttpMethod(HttpMethod inputType)
        {
            var creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId        = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var readSessionHandler = new HrbcCoreManager();
            var request            = new Dictionary <string, string>()
            {
                ["companyId"] = CompanyId,
                ["userId"]    = adminUserId,
                ["sessionId"] = readSessionHandler.GetDefaultSessionId(_testConnection),
            };

            creds.Dispose();
            var response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, request, inputType.ToNetHttpMethod());

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest));
        }
        public void ReadHrbcCoreTmpCompanyInfoAccessEndpointTest(AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            var creds                 = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var companyId             = creds.Companies.First().Value.Id;
            var readSessionHandler    = new HrbcCoreManager();
            var accessEndpointHandler = new AccessEndpointManager();
            var request               = new Dictionary <string, string>()
            {
                ["fullMode"] = "true",
            };

            creds.Dispose();

            var response = accessEndpointHandler.AccessEndpoint <HrbcCoreSessionResponse>(accessState, $"{HrbcCoreManager.GetTmpCompanyInfoEndpoint}/{companyId}", request, System.Net.Http.HttpMethod.Get);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode), "Still able to access entry api.");
        }
        public void RequestContainsIdentityAndCookieHeadersTest()
        {
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserPassword = creds.Companies.First().Value.Users.First().Password;
            var adminUserLogin    = creds.Companies.First().Value.Users.First().Login;
            var adminUserId       = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var companyId         = creds.Companies.First().Value.Id;
            var companyName       = creds.Companies.First().Value.Name;

            creds.Dispose();

            var headerValue     = GetFormatIdentityHeader(companyId, adminUserId, DefaultService);
            var internalHandler = new InternalApiManager(InitPrivateApiConnection(companyName, adminUserLogin, adminUserPassword));
            var response        = internalHandler.SendRequestWithIdentityHeaderAndCookie(InternalAuthRequest, "X-IDENTITY", headerValue, HttpMethod.Post);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.Unauthorized));
        }
        public void InternalValidTest(ValidTestCases inputType)
        {
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserPassword = creds.Companies.First().Value.Users.First().Password;
            var adminUserLogin    = creds.Companies.First().Value.Users.First().Login;
            var adminUserId       = creds.Companies.First().Value.Users.First().Metadata["userId"];
            var companyId         = creds.Companies.First().Value.Id;
            var companyName       = creds.Companies.First().Value.Name;

            creds.Dispose();

            var headerValue = inputType == ValidTestCases.ChangeOrderXidentityHeader ? $"SERVICE={DefaultService};CID={companyId};UID={adminUserId}"
                                           : $"CID={companyId};UID={adminUserId};SERVICE={ValidMapperValues[inputType]}";
            var internalHandler = new InternalApiManager(InitPrivateApiConnection(companyName, adminUserLogin, adminUserPassword));
            var response        = internalHandler.SendRequestWithIdentityHeader(InternalAuthRequest, "X-IDENTITY", headerValue, HttpMethod.Post);

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK));
        }
        public void InternalInvalidTest(InvalidTestCases inputType, Fields field)
        {
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserPassword = creds.Companies.First().Value.Users.First().Password;
            var adminUserLogin    = creds.Companies.First().Value.Users.First().Login;
            var companyName       = creds.Companies.First().Value.Name;
            var userInfo          = new Dictionary <string, object> {
                ["companyId"] = creds.Companies.First().Value.Id, ["adminUserId"] = creds.Companies.First().Value.Users.First().Metadata["userId"]
            };

            creds.Dispose();

            var headerValue     = GetParametersForIdentityHeader(inputType, field, userInfo);
            var internalHandler = new InternalApiManager(InitPrivateApiConnection(companyName, adminUserLogin, adminUserPassword));
            var response        = internalHandler.SendRequestWithIdentityHeader(InternalAuthRequest, "X-IDENTITY", headerValue, HttpMethod.Post);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.Unauthorized));
        }
        public void InternalSpecialCommonTest(InvalidSpecialCommonTestCases inputType)
        {
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserPassword = creds.Companies.First().Value.Users.First().Password;
            var adminUserLogin    = creds.Companies.First().Value.Users.First().Login;
            var adminUserId       = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var companyId         = creds.Companies.First().Value.Id;
            var companyName       = creds.Companies.First().Value.Name;

            creds.Dispose();

            var headerName      = inputType == InvalidSpecialCommonTestCases.XIdentityIsLowecase ? "x-identity" : "X-IDENTITY";
            var headerValue     = inputType == InvalidSpecialCommonTestCases.LoginAdminUserAndUidAsNormalUser ? GetFormatIdentityHeader(companyId, NormalUserId, DefaultService) : GetFormatIdentityHeader(SecondCompanyId, SecondAdminUserId, DefaultService);
            var internalHandler = new InternalApiManager(InitPrivateApiConnection(companyName, adminUserLogin, adminUserPassword));
            var response        = internalHandler.SendRequestWithIdentityHeader(InternalAuthRequest, headerName, headerValue, HttpMethod.Post);

            PrAssert.That(response, inputType == InvalidSpecialCommonTestCases.XIdentityIsLowecase ? PrIs.SuccessfulResponse().And.HttpCode(System.Net.HttpStatusCode.OK)
                          : PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.Unauthorized));
        }
        public void ReadHrbcCoreSessionValidTest()
        {
            var creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId        = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var readSessionHandler = new HrbcCoreManager();
            var request            = new Dictionary <string, string>()
            {
                ["companyId"] = CompanyId,
                ["userId"]    = adminUserId,
                ["sessionId"] = readSessionHandler.GetDefaultSessionId(_testConnection),
            };

            creds.Dispose();

            var response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get, null);

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(HttpStatusCode.OK));
            PrAssert.That(response.Result.Status, PrIs.EqualTo("OK"));
        }
Exemple #20
0
        public void UpdatePasswordByOtherHttpMethod(HttpMethod inputType)
        {
            var creds            = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var defaultPassword  = creds.Users.Values.Single().Password.ToString();
            var parameterRequest = new Dictionary <string, object>(Common.UpdatePasswordParameters);

            parameterRequest["oldPassword"] = defaultPassword;
            var httpMethod = new Dictionary <HttpMethod, System.Net.Http.HttpMethod>()
            {
                [HttpMethod.GET]    = System.Net.Http.HttpMethod.Get,
                [HttpMethod.DELETE] = System.Net.Http.HttpMethod.Delete,
                [HttpMethod.POST]   = System.Net.Http.HttpMethod.Post,
            };
            var updatePassHandler = new UpdatePasswordManager();
            var response          = updatePassHandler.UpdatePassword(parameterRequest, httpMethod[inputType]);

            LastPassword = Common.CheckUpdatedPassword(response) ? NewPassword : string.Empty;
            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.BadRequest));
        }
        public void ReadHrbcCoreSessionInvalidSpecialTest(InvalidSpecialTestCases inputType)
        {
            ApiResponse <HrbcCoreSessionResponse> response = null;
            var creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId        = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var adminLogin         = creds.Companies.First().Value.Users.First().Login;
            var adminPassword      = creds.Companies.First().Value.Users.First().Password;
            var readSessionHandler = new HrbcCoreManager();
            var request            = new Dictionary <string, string>()
            {
                ["companyId"] = CompanyId,
                ["userId"]    = adminUserId,
                ["sessionId"] = readSessionHandler.GetDefaultSessionId(_testConnection),
            };

            creds.Dispose();

            switch (inputType)
            {
            case InvalidSpecialTestCases.ExpiredSessionId:
                Thread.Sleep(10800 * 1000);     //Sleep in 10800 seconds
                response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get);
                break;

            case InvalidSpecialTestCases.NoDataInRequest:
                response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, System.Net.Http.HttpMethod.Get);
                break;

            case InvalidSpecialTestCases.LoginNormalUserSendRequestAdminUserId:
                response = readSessionHandler.LoginAndSendRequestWithOtherAccount <HrbcCoreSessionResponse>(CompanyName, NormalUserLogin, NormalUserPassword, HrbcCoreManager.GetSessionEndpoint, request);
                break;

            case InvalidSpecialTestCases.LoginAdminUserSendRequestOtherCompany:
                var userInfo = GetAllAvailableUsers(OtherCompanyId);
                request["companyId"] = OtherCompanyId;
                request["userId"]    = userInfo.Company.Users.First().Metadata["userId"].ToString();
                userInfo.Dispose();
                response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get);
                break;
            }
            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest));
        }
        public void ReadHrbcCoreSessionInjection(Fields field, InjectionInput inputType)
        {
            var creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId        = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var fieldName          = Char.ToLowerInvariant(field.ToString()[0]) + field.ToString().Substring(1);
            var readSessionHandler = new HrbcCoreManager();
            var request            = new Dictionary <string, string>()
            {
                ["companyId"] = CompanyId,
                ["userId"]    = adminUserId,
                ["sessionId"] = readSessionHandler.GetDefaultSessionId(_testConnection),
            };

            creds.Dispose();
            request[fieldName] = InjectionInputData.InjectionInputMapper[inputType];

            var response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get, null);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest));
        }
        public void ReadHrbcCoreSessionAccessEndpointTest(AccessState accessState, HttpStatusCode httpStatusCode, ResultCode resultCode)
        {
            var creds                 = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId           = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var companyId             = creds.Companies.First().Value.Id;
            var readSessionHandler    = new HrbcCoreManager();
            var accessEndpointHandler = new AccessEndpointManager();
            var request               = new Dictionary <string, string>()
            {
                ["companyId"] = companyId,
                ["userId"]    = adminUserId,
                ["sessionId"] = readSessionHandler.GetDefaultSessionId(),
            };

            creds.Dispose();

            var response = accessEndpointHandler.AccessEndpoint <HrbcCoreSessionResponse>(accessState, HrbcCoreManager.GetSessionEndpoint, request, System.Net.Http.HttpMethod.Get);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(httpStatusCode), "Still able to access entry api.");
        }
        public void ReadHrbcCoreSessionByLoginValidTest(ValidTestCases inputType)
        {
            ApiResponse <HrbcCoreSessionResponse> response = null;
            var creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserId        = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var adminLogin         = creds.Companies.First().Value.Users.First().Login;
            var adminPassword      = creds.Companies.First().Value.Users.First().Password;
            var readSessionHandler = new HrbcCoreManager();

            var requestDefault = new Dictionary <string, string>()
            {
                ["companyId"] = CompanyId,
                ["userId"]    = NormalUserId,
                ["sessionId"] = readSessionHandler.GetDefaultSessionId(_testConnection),
            };

            if (ValidTestCases.LoginNormalUserSendRequestNormalUserId == inputType)
            {
                var request = new Dictionary <string, string>(requestDefault);
                response = readSessionHandler.LoginAndSendRequestWithOtherAccount <HrbcCoreSessionResponse>(CompanyName, NormalUserLogin, NormalUserPassword, HrbcCoreManager.GetSessionEndpoint, request);
                readSessionHandler.ReAuthenticate(CompanyName, adminLogin, adminPassword);
            }
            else
            {
                Dictionary <string, string> request = new Dictionary <string, string>();
                if (ValidTestCases.LoginAdminUserSendRequestNormalUserId == inputType)
                {
                    request = requestDefault;
                }
                else
                {
                    request           = new Dictionary <string, string>(requestDefault);
                    request["userId"] = adminUserId;
                }
                response = readSessionHandler.SendHrbcCoreSession <HrbcCoreSessionResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get);
            }
            creds.Dispose();

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(HttpStatusCode.OK));
            PrAssert.That(response.Result.Status, PrIs.EqualTo("OK"));
        }
Exemple #25
0
        public void ReadHrbcCoreTmpCompanyInfoValidTest(UserType userType, ValidTestCases inputType)
        {
            ApiResponse <HrbcCoreTmpCompanyInfoResponse> response = null;
            var creds              = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var companyName        = creds.Companies.First().Value.Metadata["companyName"].ToString();
            var companyLoginId     = creds.Companies.First().Value.Name;
            var adminLogin         = creds.Companies.First().Value.Users.First().Login;
            var adminPassword      = creds.Companies.First().Value.Users.First().Password;
            var dbInfoHost         = creds.Companies.First().Value.Metadata["dbInfoHost"].ToString();
            var dbInfoPort         = creds.Companies.First().Value.Metadata["dbInfoPort"].ToString();
            var dbInfoUserName     = creds.Companies.First().Value.Metadata["dbInfoUserName"].ToString();
            var dbInfoPassword     = creds.Companies.First().Value.Metadata["dbInfoPassword"].ToString();
            var companyInfoHandler = new HrbcCoreManager();

            var requestDefault = new Dictionary <string, string>()
            {
                ["companyId"] = CompanyId
            };

            if (inputType != ValidTestCases.Default)
            {
                requestDefault["fullMode"] = ValidMapperValues[inputType].ToString().ToLower();
            }

            if (UserType.User == userType)
            {
                var request = new Dictionary <string, string>(requestDefault);
                response = companyInfoHandler.LoginAndSendRequestWithOtherAccount <HrbcCoreTmpCompanyInfoResponse>(CompanyName, NormalUserLogin, NormalUserPassword, HrbcCoreManager.GetTmpCompanyInfoEndpoint, request);
                companyInfoHandler.ReAuthenticate(CompanyName, adminLogin, adminPassword);
            }
            else
            {
                response = companyInfoHandler.SendHrbcCoreTmpCompanyInfo <HrbcCoreTmpCompanyInfoResponse>(_testConnection, requestDefault, System.Net.Http.HttpMethod.Get);
            }
            creds.Dispose();

            PrAssert.That(response, PrIs.SuccessfulResponse().And.HttpCode(HttpStatusCode.OK));
            //Verify data
            VerifyData(response, inputType, new CompanyInfo(CompanyId, companyName, companyLoginId, $"PRC{CompanyId}", dbInfoHost, dbInfoPort, dbInfoUserName, dbInfoPassword));
        }
        public void IdentityHeaderJsonWebTokenTest()
        {
            var creds             = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminUserPassword = creds.Companies.First().Value.Users.First().Password;
            var adminUserLogin    = creds.Companies.First().Value.Users.First().Login;
            var adminUserId       = creds.Companies.First().Value.Users.First().Metadata["userId"].ToString();
            var companyId         = creds.Companies.First().Value.Id;
            var companyName       = creds.Companies.First().Value.Name;

            creds.Dispose();

            var headerValue = new Dictionary <string, object>
            {
                ["CID"]     = companyId,
                ["UID"]     = adminUserId,
                ["SERVICE"] = DefaultService,
            };
            var internalHandler = new InternalApiManager(InitPrivateApiConnection(companyName, adminUserLogin, adminUserPassword));
            var response        = internalHandler.SendRequestWithIdentityHeaderConvertJwt <object>(InternalAuthRequest, headerValue, HttpMethod.Post);

            PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(System.Net.HttpStatusCode.Unauthorized));
        }
Exemple #27
0
        public void TestOriginalSearchItemRegistration(ResourceId resource, Users user)
        {
            string companyName  = string.Empty;
            string userLogin    = string.Empty;
            string userPassword = string.Empty;

            if (user == Users.DefaultUser)
            {
                var adminUserInfo = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
                companyName  = adminUserInfo.Companies.First().Value.Users.First().Company.Name;
                userLogin    = adminUserInfo.Companies.First().Value.Users.First().Login;
                userPassword = adminUserInfo.Companies.First().Value.Users.First().Password;
                adminUserInfo.Dispose();
            }
            else
            {
                var normalUserInfo = OriginalSearchHelpers.GetAllAvailableUsers(false);
                companyName  = normalUserInfo.First().Company.Name;
                userLogin    = normalUserInfo.First().Login;
                userPassword = normalUserInfo.First().Password;
                normalUserInfo.First().Dispose();
            }
            AssertResponsedContent(resource, user, companyName, userLogin, userPassword);
        }
Exemple #28
0
        private void VerifyData(ApiResponse <HrbcCoreTmpCompanyInfoResponse> response, ValidTestCases inputType, CompanyInfo companyInfo)
        {
            var creds     = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();
            var adminName = creds.Companies.First().Value.Users.First().Metadata["name"].ToString();

            creds.Dispose();

            if (inputType == ValidTestCases.Default || inputType == ValidTestCases.False)
            {
                PrAssert.That(response.Result.Name, PrIs.Null);
            }
            else
            {
                PrAssert.That(response.Result.Name, PrIs.EqualTo(companyInfo.Name));
            }

            PrAssert.That(response.Result.CompanyLoginId, PrIs.EqualTo(companyInfo.CompanyLoginId));
            PrAssert.That(response.Result.CatalogName, PrIs.EqualTo(companyInfo.CatalogName));
            PrAssert.That(response.Result.DbInfoHost, PrIs.EqualTo(companyInfo.DbInfoHost));
            PrAssert.That(response.Result.DbInfoPort, PrIs.EqualTo(companyInfo.DbInfoPort));
            PrAssert.That(response.Result.DbInfoUserName, PrIs.EqualTo(companyInfo.DbInfoUserName));
            PrAssert.That(response.Result.DbInfoPassword, PrIs.EqualTo(companyInfo.DbInfoPassword));
            PrAssert.That(response.Result.Id, PrIs.EqualTo(companyInfo.Id));
        }
        public void CoreSettingUpdateTest(string propertyName, ParameterType parameterType, InputType inputType)
        {
            var creds = AuthenticationInfoProvider.GetAuthSpecForCurrentTest();

            ValidationTestUtility.PerformJsonValidationTest(_testConnection, propertyName, parameterType, inputType, GenerateSettingUpdateRequest(), creds);
        }
Exemple #30
0
        public void GetTokenThenCheckDefaultUserIdTest()
        {
            var expectedUserId = Convert.ToInt32(AuthenticationInfoProvider.GetAuthSpecForCurrentTest().Users.Single().Value.Metadata["userId"]);

            PrAssert.That(GetWebToken().ParsedPayload.Payload.UserId, PrIs.EqualTo(expectedUserId));
        }