@@ -516,4 +516,44 @@ public void withValidApiKeyToFileShouldStoreImageData() throws Exception, IOExce
516516 assertThat (Files .readAllBytes (tempFile ),
517517 is (equalTo ("compressed file" .getBytes ())));
518518 }
519- }
519+
520+
521+ /*
522+ * The following tests should probably be done with parametrized tests
523+ */
524+ @ Test
525+ public void withOptionsNotEmptyResultDoesAPOST () throws Exception , IOException , InterruptedException {
526+ Tinify .setKey ("valid" );
527+
528+ server .enqueue (new MockResponse ()
529+ .setResponseCode (200 )
530+ .setBody ("compressed file" ));
531+ Result result = new Source ("https://api.tinify.com/some/location" , new Options ().with ("I am not" , "empty" )).result ();
532+ RecordedRequest outputRequest = server .takeRequest (1 , TimeUnit .SECONDS );
533+ assertEquals ("POST" , outputRequest .getMethod ());
534+ }
535+
536+ @ Test
537+ public void withOptionsNULLResultDoesAGET () throws Exception , IOException , InterruptedException {
538+ Tinify .setKey ("valid" );
539+
540+ server .enqueue (new MockResponse ()
541+ .setResponseCode (200 )
542+ .setBody ("compressed file" ));
543+ Result result = new Source ("https://api.tinify.com/some/location" , null ).result ();
544+ RecordedRequest outputRequest = server .takeRequest (1 , TimeUnit .SECONDS );
545+ assertEquals ("GET" , outputRequest .getMethod ());
546+ }
547+
548+ @ Test
549+ public void withOptionsEmptyResultDoesAGET () throws Exception , IOException , InterruptedException {
550+ Tinify .setKey ("valid" );
551+
552+ server .enqueue (new MockResponse ()
553+ .setResponseCode (200 )
554+ .setBody ("compressed file" ));
555+ Result result = new Source ("https://api.tinify.com/some/location" , new Options ()).result ();
556+ RecordedRequest outputRequest = server .takeRequest (1 , TimeUnit .SECONDS );
557+ assertEquals ("GET" , outputRequest .getMethod ());
558+ }
559+ }
0 commit comments