public void ReadHrbcCoreTmpCompanyInfoInvalidSpecialTest(InvalidSpecialTestCases inputType) { ApiResponse <HrbcCoreTmpCompanyInfoResponse> response = null; var companyInfoHandler = new HrbcCoreManager(); var request = new Dictionary <string, string>() { ["companyId"] = CompanyId, ["fullMode"] = "true", }; switch (inputType) { case InvalidSpecialTestCases.NoDataInRequest: response = companyInfoHandler.SendHrbcCoreTmpCompanyInfo <HrbcCoreTmpCompanyInfoResponse>(_testConnection, System.Net.Http.HttpMethod.Get); break; case InvalidSpecialTestCases.LoginAdminUserSendRequestOtherCompany: request["companyId"] = OtherCompanyId; response = companyInfoHandler.SendHrbcCoreTmpCompanyInfo <HrbcCoreTmpCompanyInfoResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get); break; case InvalidSpecialTestCases.IncludeCompanyIdIntoParameter: response = companyInfoHandler.SendHrbcCoreIncludeCompanyIdIntoParamerter <HrbcCoreTmpCompanyInfoResponse>(_testConnection, request); break; } PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(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)); }
public void ReadHrbcCoreTmpCompanyInfoByOtherHttpMethod(HttpMethod inputType) { var companyInfoHandler = new HrbcCoreManager(); var request = new Dictionary <string, string>() { ["companyId"] = CompanyId, ["fullMode"] = "true", }; var response = companyInfoHandler.SendHrbcCoreTmpCompanyInfo <HrbcCoreTmpCompanyInfoResponse>(_testConnection, request, inputType.ToNetHttpMethod()); PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest)); }
public void ReadHrbcCoreTmpCompanyInfoInjection(Fields field, InjectionInput inputType) { var fieldName = Char.ToLowerInvariant(field.ToString()[0]) + field.ToString().Substring(1); var companyInfoHandler = new HrbcCoreManager(); var request = new Dictionary <string, string>() { ["companyId"] = CompanyId, ["fullMode"] = "true", }; request[fieldName] = InjectionInputData.InjectionInputMapper[inputType]; var response = companyInfoHandler.SendHrbcCoreTmpCompanyInfo <HrbcCoreTmpCompanyInfoResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get, string.Empty); PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest)); }
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 ReadHrbcCoreTmpCompanyInfoInvalidTest(Fields field, InvalidTestCases inputType) { var fieldName = Char.ToLowerInvariant(field.ToString()[0]) + field.ToString().Substring(1); var companyInfoHandler = new HrbcCoreManager(); var request = new Dictionary <string, string>() { ["companyId"] = CompanyId, ["fullMode"] = "true", }; InvalidMapperValues[inputType](fieldName, CompanyName, request); var response = (inputType == InvalidTestCases.Missing && field == Fields.CompanyId) ? companyInfoHandler.SendHrbcCoreTmpCompanyInfoWithMissingCompanyId <HrbcCoreTmpCompanyInfoResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get) : companyInfoHandler.SendHrbcCoreTmpCompanyInfo <HrbcCoreTmpCompanyInfoResponse>(_testConnection, request, System.Net.Http.HttpMethod.Get); PrAssert.That(response, PrIs.ErrorResponse().And.HttpCode(HttpStatusCode.BadRequest)); }
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")); }
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 DuplicateParametersTest(Fields field, Values value) { var companyInfoHandler = new HrbcCoreManager(); var parametersSameValue = new Dictionary <Fields, string> { [Fields.CompanyId] = $"/{CompanyId}/{CompanyId}?fullMode=true", [Fields.FullMode] = $"/{CompanyId}?fullMode=true&fullMode=true", }; var parametersNotSameValue = new Dictionary <Fields, string> { [Fields.CompanyId] = $"/{CompanyId}/{SecondCompanyId}?fullMode=true", [Fields.FullMode] = $"/{CompanyId}?fullMode=true&fullMode=false", }; var response = companyInfoHandler.SendHrbcCoreTmpCompanyInfo <HrbcCoreTmpCompanyInfoResponse>(_testConnection, value == Values.Same ? parametersSameValue[field] : parametersNotSameValue[field]); 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")); }
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)); }