def accept_post(template, subject):
    logger.info("Request Received")
    if request.data:
        model = transform_issue_updated_data(request.data)
        logger.info("Calling Mail Builder")
        email = build_email(model, template, current_app.config["RECIPIENTS"],
                            subject)
        logger.info("Mail Built - Sending")
        mail.send(email)
        logger.info("Mail Sent")
        return "Request Received", 202
    else:
        logger.error("No Request Data")
        return "Bad Request", 400
    def test_transform_returns_estimated_release_date(self):
        output = transform_issue_updated_data(json.dumps(issue_updated_json))

        assert_that("estimated_release_date" in output)
        assert_that(output.get("estimated_release_date"),
                    equal_to("2017-02-20"))
    def test_transform_returns_no_sign_off_by(self):
        output = transform_issue_updated_data(json.dumps({}))

        assert_that("sign_off_by" in output)
        assert_that(output.get("sign_off_by"), equal_to(""))
    def test_transform_returns_story_number(self):
        output = transform_issue_updated_data(json.dumps(issue_updated_json))

        assert_that("story_number" in output)
        assert_that(output.get("story_number"), equal_to("ADS-166"))
    def test_transform_returns_no_assignee_email(self):
        output = transform_issue_updated_data(json.dumps({}))

        assert_that("assignee_email" in output)
        assert_that(output.get("assignee_email"), equal_to(""))
    def test_transform_returns_assignee_email(self):
        output = transform_issue_updated_data(json.dumps(issue_updated_json))

        assert_that("assignee_email" in output)
        assert_that(output.get("assignee_email"),
                    equal_to("*****@*****.**"))
    def test_transform_returns_assignee(self):
        output = transform_issue_updated_data(json.dumps(issue_updated_json))

        assert_that("assignee" in output)
        assert_that(output.get("assignee"), equal_to("Andy Price"))
    def test_transform_returns_no_story_title(self):
        output = transform_issue_updated_data(json.dumps({}))

        assert_that("title" in output)
        assert_that(output.get("title"), equal_to(""))
    def test_transform_returns_story_title(self):
        output = transform_issue_updated_data(json.dumps(issue_updated_json))

        assert_that("title" in output)
        assert_that(output.get("title"),
                    equal_to("Notify Service Management of Release"))
    def test_transform_returns_empty_data_set(self):
        output = transform_issue_updated_data(json.dumps({}))

        assert_that(output, equal_to(expected_empty_output_dict))