package com.mairos.twisterblog; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.MediumTest; import android.util.Log; import com.mairos.twisterblog.model.Post; import com.mairos.twisterblog.model.RequestResult; import com.mairos.twisterblog.network.TwisterBlogHttp; import com.mairos.twisterblog.network.TwisterBlogService; import junit.framework.TestCase; import org.junit.After; import org.junit.Before; import org.junit.FixMethodOrder; import org.junit.Test; import org.junit.runner.RunWith; import retrofit.RestAdapter; /** * Created by Mike on 11.01.2015. */ @RunWith(AndroidJUnit4.class) @FixMethodOrder @MediumTest public class NetworkRequestsTest extends TestCase { private TwisterBlogHttp mRetrofitService; private RestAdapter mRestAdapter; private static volatile int sPostId = 0; @Before public void setUp() throws Exception { super.setUp(); mRestAdapter = new RestAdapter.Builder() .setEndpoint(Constants.API_URL) .build(); mRetrofitService = mRestAdapter.create(TwisterBlogHttp.class); } @Test public void testAddPost() { RequestResult res = mRetrofitService.addPost("test post title - NetworkRequestsTest", "test post title - NetworkRequestsTest"); assertEquals(RequestResult.SUCCESS_MESSAGE, res.message); } @Test public void testGetAllPosts() { Post.List posts = mRetrofitService.getPosts(); assertNotNull("there are no posts in database", posts); sPostId = posts.get(posts.size()-1).id; } @Test public void testRemovePost() { RequestResult res = mRetrofitService.deletePost(sPostId); assertEquals(RequestResult.SUCCESS_MESSAGE, res.message); } @After public void tearDown() throws Exception { // Make sure that we call the tearDown() method of ActivityInstrumentationTestCase2 // to clean up and not leak any objects. super.tearDown(); } }