package cc.blynk.integration.http; import cc.blynk.integration.BaseTest; import cc.blynk.server.api.http.HttpAPIServer; import cc.blynk.server.core.BaseServer; import cc.blynk.server.core.dao.FileManager; import cc.blynk.server.core.model.DashBoard; import cc.blynk.server.core.model.auth.User; import cc.blynk.utils.JsonParser; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.junit.AfterClass; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.runners.MockitoJUnitRunner; import java.io.InputStream; import static org.junit.Assert.assertEquals; /** * The Blynk Project. * Created by Dmitriy Dumanskiy. * Created on 24.12.15. */ @RunWith(MockitoJUnitRunner.class) public class HttpAPIProjectTest extends BaseTest { private static BaseServer httpServer; private static CloseableHttpClient httpclient; private static String httpsServerUrl; private DashBoard dashBoard; @AfterClass public static void shutdown() throws Exception { httpclient.close(); httpServer.close(); } @Before public void init() throws Exception { if (httpServer == null) { httpServer = new HttpAPIServer(holder).start(); httpsServerUrl = String.format("http://localhost:%s/", httpPort); httpclient = HttpClients.createDefault(); } } @Override public String getDataFolder() { return getRelativeDataFolder("/profiles"); } //----------------------------GET METHODS SECTION @Test public void testGetWithFakeToken() throws Exception { String token = "4ae3851817194e2596cf1b7103603ef8"; HttpGet request = new HttpGet(httpsServerUrl + token + "/project"); InputStream is = getClass().getResourceAsStream("/profiles/u_dmitriy@blynk.cc.user"); User user = JsonParser.mapper.readValue(is, User.class); FileManager.migrateOldProfile(user); Integer dashId = 125564119; dashBoard = user.profile.getDashById(dashId); try (CloseableHttpResponse response = httpclient.execute(request)) { assertEquals(200, response.getStatusLine().getStatusCode()); assertEquals(dashBoard.toString(), consumeText(response)); } } }