content: package com.pivotallabs.api;
  
  import org.junit.Test;
  
  import java.io.InputStream;
  
  import static com.pivotallabs.TestResponses.GENERIC_XML;
  import static com.pivotallabs.util.Strings.asStream;
  import static org.hamcrest.CoreMatchers.equalTo;
  import static org.junit.Assert.assertThat;
  
  public class ApiResponseTest {
      @Test
      public void isSuccess_shouldReturnTrueIfResponseCodeIsInThe200Range() throws Exception {
          assertThat(new TestApiResponse(200, asStream(GENERIC_XML)).isSuccess(), equalTo(true));
          assertThat(new TestApiResponse(201, asStream(GENERIC_XML)).isSuccess(), equalTo(true));
          assertThat(new TestApiResponse(299, asStream(GENERIC_XML)).isSuccess(), equalTo(true));
      }
  
      @Test
      public void isSuccess_shouldReturnFalseIfResponseCodeIsIn500Range() throws Exception {
          assertThat(new TestApiResponse(500, asStream(GENERIC_XML)).isSuccess(), equalTo(false));
          assertThat(new TestApiResponse(501, asStream(GENERIC_XML)).isSuccess(), equalTo(false));
      }
  
      @Test
      public void isUnauthorized_shouldReturnTrueIfResponseCodeIs401() throws Exception {
          assertThat(new TestApiResponse(401, asStream("Access Denied")).isUnauthorized(), equalTo(true));
      }
  
      private class TestApiResponse extends ApiResponse {
          public TestApiResponse(int responseCode, InputStream responseBody) {
              super(responseCode);
          }
  
          @Override
          void consumeResponse(InputStream responseBody) throws Exception {
          }
      }
  }
  