Exemplo n.º 1
0
        private SingleEmailResult RunRuleOnSingleEmail(SingleEmail singleEmail)
        {
            //IRuleEvaluationResult<EmailResult> ruleEvaluationResult = new EmailRuleEvaluationResult();

            var singleEmailResult = checkIfAlreadyUnsubcribed(singleEmail);

            return(singleEmailResult);
        }
 private SingleEmailResult GetSingleEmailResult(SingleEmail singleEmail)
 {
     return(new SingleEmailResult
     {
         ErrorCode = OpResultCode.SUCCCESS,
         UniqueEmailID = singleEmail.UniqueEmailID,
         Message = OpResultCode.SUCCCESS.ToString(),
         To = singleEmail.To
     });
 }
Exemplo n.º 3
0
        public async Task <IActionResult> ProcessSingleEmailRequest([FromBody] SingleEmail emailRequest)
        {
            var result = await _apiListenerActor.Ask(emailRequest);

            switch (result)
            {
            case SingleEmailResult response:
                return(Ok(response));

            default:
                return(StatusCode(StatusCodes.Status500InternalServerError, result));
            }
        }
Exemplo n.º 4
0
        private SingleEmailResult checkTheToEmailIsValid(SingleEmail singleEmail)
        {
            var emailResult = new SingleEmailResult();


            if (!IsValidEmail(singleEmail.To))
            {
                emailResult.To            = singleEmail.To;
                emailResult.Message       = ERROR_MESSAGE;
                emailResult.SubmittedAt   = DateTime.Now;
                emailResult.UniqueEmailID = singleEmail.UniqueEmailID;
                emailResult.ErrorCode     = OpResultCode.FAILURE;
                return(emailResult);
            }

            emailResult.To            = singleEmail.To;
            emailResult.Message       = OpResultCode.SUCCCESS.ToString();
            emailResult.SubmittedAt   = DateTime.Now;
            emailResult.UniqueEmailID = singleEmail.UniqueEmailID;
            emailResult.ErrorCode     = OpResultCode.SUCCCESS;

            return(emailResult);
        }
Exemplo n.º 5
0
        private SingleEmailResult checkIfAlreadyUnsubcribed(SingleEmail singleEmail)
        {
            var emailResult = new SingleEmailResult();

            //user unsubscribed
            if (UnbsubscribedEmails.Contains(singleEmail.To))
            {
                emailResult.To            = singleEmail.To;
                emailResult.Message       = ERROR_MESSAGE;
                emailResult.SubmittedAt   = DateTime.Now;
                emailResult.UniqueEmailID = singleEmail.UniqueEmailID;
                emailResult.ErrorCode     = OpResultCode.FAILURE;
                return(emailResult);
            }

            emailResult.To            = singleEmail.To;
            emailResult.Message       = OpResultCode.SUCCCESS.ToString();
            emailResult.SubmittedAt   = DateTime.Now;
            emailResult.UniqueEmailID = singleEmail.UniqueEmailID;
            emailResult.ErrorCode     = OpResultCode.SUCCCESS;

            return(emailResult);
        }
        public async Task Given_ValidUserSubscriptionRequest_Returns_Success()
        {
            // Arrange
            var url     = $"{WEBAPI_ROOT_URL}";
            var client  = _factory.CreateClient();
            var ID      = "1234";
            var details = new SingleEmail
            {
                To            = "*****@*****.**",
                HtmlBody      = "Test",
                UniqueEmailID = ID
            };

            var jsonReq = JsonConvert.SerializeObject(details);
            var content = new StringContent(jsonReq, Encoding.UTF8, "application/json");


            // Act
            var response = await client.PostAsync(url, content);

            var json = await response.Content.ReadAsStringAsync();

            var answer = JsonConvert.DeserializeObject <SingleEmailResult>(json);


            // Assert
            response.StatusCode.Should().Be(HttpStatusCode.OK);

            answer.Should().NotBeNull();
            answer.ErrorCode.Should().Be(OpResultCode.SUCCCESS);
            answer.Message.Should().NotBeNullOrEmpty();
            answer.To.Should().NotBeNullOrEmpty();
            answer.MessageID.Should().NotBeNullOrEmpty();
            answer.UniqueEmailID.Should().Be(ID);

            response.Content.Headers.ContentType.Should().NotBeNull();
        }
Exemplo n.º 7
0
        private SingleEmailResult RunRuleOnSingleEmail(SingleEmail singleEmail)
        {
            var singleEmailResult = checkTheToEmailIsValid(singleEmail);

            return(singleEmailResult);
        }