package com.github.spreadsheets.android.api.requests; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.SmallTest; import com.android.volley.NetworkResponse; import com.android.volley.Response; import com.github.spreadsheets.android.api.model.SpreadsheetFeed; import com.github.spreadsheets.android.api.testutils.AssetsFileReader; import java.util.HashMap; import java.util.Map; import static org.fest.assertions.api.Assertions.assertThat; @SmallTest public class SpreadsheetFeedRequestTest extends AndroidTestCase { private SpreadsheetRequest mRequest; private NetworkResponse mMockResponse; Map<String, String> headers = new HashMap<String, String>(); @Override public void setUp() throws Exception { super.setUp(); mRequest = new SpreadsheetFeedRequest(null, null); String xml = new AssetsFileReader().assetFileContents("spreadsheet_feed.xml"); headers.put(com.google.common.net.HttpHeaders.CONTENT_TYPE, "application/atom+xml; charset=UTF-8"); mMockResponse = new NetworkResponse(200, xml.getBytes(), headers, false); } public void testParsingSuccess() { Response feedResponse = mRequest.parseNetworkResponse(mMockResponse); assertTrue(feedResponse.isSuccess()); } public void testParsingFailure() { Response response = mRequest .parseNetworkResponse( new NetworkResponse(200,"error".getBytes(), headers, false)); assertFalse(response.isSuccess()); } public void testParseNetworkResponse() { Response feedResponse = mRequest.parseNetworkResponse(mMockResponse); SpreadsheetFeed feed = (SpreadsheetFeed) feedResponse.result; assertThat(feed.getEntries().size()).isEqualTo(3); assertThat(feed.getEntries().get(0).title).isEqualTo("custom_word_list"); assertThat(feed.getEntries().get(1).title).isEqualTo("Word List"); assertThat(feed.getEntries().get(2).title).isEqualTo("Sample spreadsheet"); } }