Skip to content

Commit

Permalink
Merge pull request #72 from hmrc/hotfix-des-api
Browse files Browse the repository at this point in the history
hotfix-des-api: Sending empty body rather than POSTEmpty
  • Loading branch information
suyangyu authored Mar 16, 2017
2 parents 788abe3 + 3602b18 commit 353eb01
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 15 deletions.
10 changes: 5 additions & 5 deletions app/connectors/SubscriptionConnector.scala
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ class SubscriptionConnector @Inject()
HeaderCarrier(extraHeaders = Seq("Environment" -> applicationConfig.desEnvironment, "Content-Type" -> "application/json"),
authorization = Some(Authorization(urlHeaderAuthorization)))

def createHeaderCarrierPostEmpty(headerCarrier: HeaderCarrier): HeaderCarrier =
HeaderCarrier(extraHeaders = Seq("Environment" -> applicationConfig.desEnvironment),
authorization = Some(Authorization(urlHeaderAuthorization)))
// def createHeaderCarrierPostEmpty(headerCarrier: HeaderCarrier): HeaderCarrier =
// HeaderCarrier(extraHeaders = Seq("Environment" -> applicationConfig.desEnvironment),
// authorization = Some(Authorization(urlHeaderAuthorization)))

def businessSubscribe(nino: String, businessSubscriptionPayload: BusinessSubscriptionRequestModel)
(implicit hc: HeaderCarrier, ec: ExecutionContext): Future[BusinessConnectorUtil.Response] = {
Expand Down Expand Up @@ -86,13 +86,13 @@ class SubscriptionConnector @Inject()
import SubscriptionConnector._
implicit val loggingConfig = SubscriptionConnector.propertySubscribeLoggingConfig
lazy val requestDetails: Map[String, String] = Map("nino" -> nino)
val updatedHc = createHeaderCarrierPostEmpty(hc)
val updatedHc = createHeaderCarrierPost(hc)

lazy val auditRequest = logging.auditFor(auditPropertySubscribeName, requestDetails)(updatedHc)
auditRequest(eventTypeRequest)

logging.debug(s"Request:\n$requestDetails")
httpPost.POSTEmpty[HttpResponse](propertySubscribeUrl(nino))(HttpReads.readRaw, createHeaderCarrierPostEmpty(hc)).map {
httpPost.POST[JsValue, HttpResponse](propertySubscribeUrl(nino),"{}": JsValue)(implicitly[Writes[JsValue]], HttpReads.readRaw, updatedHc).map {
response =>

lazy val audit = logging.auditFor(auditPropertySubscribeName, requestDetails + ("response" -> response.body))(updatedHc)
Expand Down
7 changes: 0 additions & 7 deletions test/unit/connectors/SubscriptionConnectorSpec.scala
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,6 @@ class SubscriptionConnectorSpec extends MockSubscriptionConnector {
rHc.headers.contains("Environment" -> appConfig.desEnvironment) shouldBe true
}

"The connector should have the correct POST EMPTY request headers for DES" in {
val rHc = TestSubscriptionConnector.createHeaderCarrierPostEmpty(hc)
rHc.headers.contains("Authorization" -> s"Bearer ${appConfig.desToken}") shouldBe true
rHc.headers.contains("Content-Type" -> "application/json") shouldBe false
rHc.headers.contains("Environment" -> appConfig.desEnvironment) shouldBe true
}

"SubscriptionConnector.businessSubscribe" should {

def result = await(TestSubscriptionConnector.businessSubscribe(testNino, businessSubscriptionRequestPayload))
Expand Down
5 changes: 2 additions & 3 deletions test/unit/connectors/mocks/MockSubscriptionConnector.scala
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,10 @@ import config.AppConfig
import connectors.SubscriptionConnector
import models.subscription.business.BusinessSubscriptionRequestModel
import org.scalatestplus.play.OneAppPerSuite
import play.api.Configuration
import play.api.http.Status._
import play.api.libs.json.JsValue
import uk.gov.hmrc.play.http.HttpPost
import utils.Implicits._
import utils.JsonUtils._
import utils.TestConstants.{BusinessSubscriptionResponse, PropertySubscriptionResponse, _}

trait MockSubscriptionConnector extends MockHttp with OneAppPerSuite {
Expand All @@ -46,6 +45,6 @@ trait MockSubscriptionConnector extends MockHttp with OneAppPerSuite {
setupMockHttpPost(url = TestSubscriptionConnector.businessSubscribeUrl(nino), payload)(status, response)

def setupMockPropertySubscribe(nino: String)(status: Int, response: JsValue): Unit =
setupMockHttpPostEmpty(url = TestSubscriptionConnector.propertySubscribeUrl(nino))(status, response)
setupMockHttpPost(url = TestSubscriptionConnector.propertySubscribeUrl(nino), OptionUtl("{}": JsValue))(status, response)

}

0 comments on commit 353eb01

Please sign in to comment.