1515 *******************************************************************************/
1616package com .intuit .ipp .interceptors ;
1717
18+ import com .intuit .ipp .compression .CompressorFactory ;
19+ import com .intuit .ipp .net .ContentTypes ;
20+ import com .intuit .ipp .util .StringUtils ;
1821import org .testng .Assert ;
1922import org .testng .annotations .AfterMethod ;
2023import org .testng .annotations .BeforeClass ;
24+ import org .testng .annotations .BeforeMethod ;
2125import org .testng .annotations .Test ;
2226
2327import com .intuit .ipp .core .Context ;
2630import com .intuit .ipp .security .OAuthAuthorizer ;
2731import com .intuit .ipp .util .Config ;
2832
33+ import java .util .Map ;
34+ import java .util .UUID ;
35+
36+ import static com .intuit .ipp .interceptors .RequestElements .HEADER_PARAM_ACCEPT ;
37+ import static com .intuit .ipp .interceptors .RequestElements .HEADER_PARAM_CONTENT_TYPE ;
38+ import static com .intuit .ipp .util .Config .COMPRESSION_REQUEST_FORMAT ;
39+
2940
3041public class PrepareRequestInterceptorTest {
3142
3243 private PrepareRequestInterceptor instance = new PrepareRequestInterceptor ();
3344 private IntuitMessage message = new IntuitMessage ();
3445 private Context context ;
3546
36- @ BeforeClass
47+ @ BeforeMethod
3748 public void setUp () throws FMSException {
3849 context = new Context (new OAuthAuthorizer ("fakeTicket" ,"fakeToken" , "fakeToken" , "fakeToken" ), ServiceType .QBO , "fakeRealm" );
3950 context .setRequestID ("anyRequestID" );
51+ message = new IntuitMessage ();
4052 message .getRequestElements ().setAction ("fakeAction" );
4153 message .getRequestElements ().setContext (context );
4254
4355 }
4456
45- @ AfterMethod
46- public void tearDown () {
47- message .getRequestElements ().getRequestParameters ().remove (RequestElements .REQ_PARAM_SENDTO );
48- message .getRequestElements ().getRequestParameters ().remove (RequestElements .REQ_PARAM_ENTITY_SELECTOR );
49- }
50-
5157 @ Test
5258 // Unit-like test which verifies URL generation
5359 public void testExecute_QBO_URI () throws FMSException {
@@ -56,6 +62,32 @@ public void testExecute_QBO_URI() throws FMSException {
5662 Assert .assertEquals (actual , Config .getProperty (Config .BASE_URL_QBO ) + "/fakeRealm/fakeAction?requestid=anyRequestID&minorversion=41&" );
5763 }
5864
65+ @ Test
66+ public void testExecuteWithPlatformService () throws FMSException {
67+ message .setPlatformService (true );
68+ instance .execute (message );
69+ String actual = message .getRequestElements ().getRequestParameters ().get (RequestElements .REQ_PARAM_RESOURCE_URL );
70+ Assert .assertEquals (actual , Config .getProperty (Config .BASE_URL_PLATFORMSERVICE ) + "/null?act=fakeAction&token=null" );
71+
72+ }
73+
74+ @ Test
75+ public void testExecuteWithEntitlementService () throws FMSException {
76+ String originalCompression = Config .getProperty (COMPRESSION_REQUEST_FORMAT );
77+ try {
78+ Config .setProperty (COMPRESSION_REQUEST_FORMAT , CompressorFactory .GZIP_COMPRESS_FORMAT );
79+ message .setEntitlementService (true );
80+ instance .execute (message );
81+
82+ Assert .assertEquals (message .getRequestElements ().getRequestParameters ().get (RequestElements .REQ_PARAM_RESOURCE_URL ), Config .getProperty (Config .BASE_URL_ENTITLEMENTSERVICE ) + "/entitlements/v3/fakeRealm" );
83+ Assert .assertEquals (message .getRequestElements ().getRequestHeaders ().get (RequestElements .HEADER_PARAM_CONTENT_TYPE ), "application/xml" );
84+ Assert .assertEquals (message .getRequestElements ().getRequestHeaders ().get (RequestElements .HEADER_PARAM_ACCEPT ), "application/xml" );
85+ Assert .assertNull (message .getRequestElements ().getRequestHeaders ().get (Config .COMPRESSION_REQUEST_FORMAT ));
86+ Assert .assertEquals (message .getRequestElements ().getRequestHeaders ().get (RequestElements .HEADER_PARAM_CONTENT_ENCODING ), Config .getProperty (Config .COMPRESSION_REQUEST_FORMAT ));
87+ } finally {
88+ Config .setProperty (COMPRESSION_REQUEST_FORMAT , originalCompression );
89+ }
90+ }
5991
6092 @ Test
6193 public void testPrepareDataServiceRequestForPDF_SmallCaps () throws FMSException {
0 commit comments