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");
}
}