package com.asana; import com.asana.errors.*; import org.junit.Assert; import org.junit.Test; import java.io.IOException; public class ErrorsTest extends AsanaTest { @Test(expected = NoAuthorizationError.class) public void testNotAuthorized() throws IOException { dispatcher.registerResponse("GET", "http://app/users/me").code(401).content("{ \"errors\": [{ \"message\": \"Not Authorized\" }]}"); client.users.me().execute(); } @Test(expected = InvalidRequestError.class) public void testInvalidRequest() throws IOException { dispatcher.registerResponse("GET", "http://app/users/me").code(400).content("{ \"errors\": [{ \"message\": \"Missing input\" }] }"); client.users.me().execute(); } @Test(expected = ServerError.class) public void testServerError() throws IOException { dispatcher.registerResponse("GET", "http://app/users/me").code(500).content("{ \"errors\": [ { \"message\": \"Server Error\", \"phrase\": \"6 sad squid snuggle softly\" } ] }"); client.users.me().option("max_retries", 0).execute(); } @Test(expected = NotFoundError.class) public void testNotFound() throws IOException { dispatcher.registerResponse("GET", "http://app/users/me").code(404).content("{ \"errors\": [ { \"message\": \"user: Unknown object: 1234\" } ] }"); client.users.me().execute(); } @Test(expected = ForbiddenError.class) public void testForbidden() throws IOException { dispatcher.registerResponse("GET", "http://app/users/me").code(403).content("{ \"errors\": [ { \"message\": \"user: Forbidden\" } ] }"); client.users.me().execute(); } }