public async Task RegisterAuthClient() { string url = ApiPaths.CLIENT_REGISTER_PATH; ClientRegisterDTO registerDTO = new ClientRegisterDTO() { Email = Helpers.RandomString(8) + GlobalConstants.AutoTestEmail, FullName = Helpers.RandomString(5) + " " + Helpers.RandomString(8), ContactPhone = Helpers.Random.Next(1000000, 9999999).ToString(), Password = Helpers.RandomString(10), Hint = Helpers.RandomString(3) }; string registerParam = JsonUtils.SerializeObject(registerDTO); var response = await this.Consumer.ExecuteRequest(url, Helpers.EmptyDictionary, registerParam, Method.POST); Assert.True(response.Status == System.Net.HttpStatusCode.OK); ClientDTO parsedResponse = JsonUtils.DeserializeJson <ClientDTO>(response.ResponseJson); PersonalDataEntity pdEntity = await this.PersonalDataRepository.TryGetAsync( p => p.PartitionKey == PersonalDataEntity.GeneratePartitionKey() && p.Email == registerDTO.Email.ToLower()) as PersonalDataEntity; Assert.NotNull(pdEntity); Assert.True(pdEntity.ContactPhone == registerDTO.ContactPhone); Assert.True(pdEntity.FullName == registerDTO.FullName); Assert.True(pdEntity.PasswordHint == registerDTO.Hint); TradersEntity traderEntity = await this.TradersRepository.TryGetAsync( t => t.PartitionKey == "Trader" && t.Id == pdEntity.RowKey ) as TradersEntity; Assert.NotNull(traderEntity); TradersEntity traderEmailEntity = await this.TradersRepository.TryGetAsync( t => t.PartitionKey == "IndexEmail" && t.Id == registerDTO.Email && t.PrimaryRowKey == pdEntity.RowKey ) as TradersEntity; Assert.NotNull(traderEmailEntity); //Authentication User newUser = new User() { Email = registerDTO.Email, Password = registerDTO.Password }; string userParam = JsonUtils.SerializeObject(newUser); string authUrl = ApiPaths.CLIENT_BASE_PATH + "/auth"; var authResponse = await this.Consumer.ExecuteRequest(authUrl, Helpers.EmptyDictionary, userParam, Method.POST); Assert.True(authResponse.Status == HttpStatusCode.OK); }
public async Task <ClientIdentity> RegisterClientAsync( string tenantId, string requestEmail, string requestPhone, string requestFullName, string requestCountryIso3Code, string requestAffiliateCode) { var iteration = 0; PersonalDataEntity entity; while (true) { iteration++; try { var clientId = (long)(DateTime.UtcNow - DateTime.Parse("2020-01-01")).TotalSeconds; entity = PersonalDataEntity.Generate(tenantId, clientId); entity.Data.Email = requestEmail; entity.Data.FullName = requestFullName; entity.Data.Phone = requestPhone; entity.Data.AffiliateCode = requestAffiliateCode; entity.Data.CountryIso3Code = requestCountryIso3Code; await _dataWriter.InsertAsync(entity); break; } catch (Exception ex) { Console.WriteLine($"ERROR in PersonalDataMock.RegisterClientAsync. Iteration: {iteration}"); Console.WriteLine(ex); if (iteration > 10) { throw; } } } return(new ClientIdentity() { ClientId = entity.Data.ClientId, TenantId = entity.Data.TenantId }); }
private int SavePassedTest(int userId, PersonalDataEntity personalData, int testId) { int?professionId = null; int expertAssessment = -1; if (personalData != null) { expertAssessment = personalData.ExpertAssessment; professionId = personalData.ProfessionId; } var passedTestEntity = new PassedTestEntity { TestId = testId, TestedId = userId, ProfessionId = professionId, ExpertAsessment = expertAssessment, Date = DateTime.Now }; _dbContext.Add(passedTestEntity); _dbContext.SaveChanges(); return(passedTestEntity.Id); }