Package org.uiautomation.ios.e2e.config

Source Code of org.uiautomation.ios.e2e.config.SessionsTest

/*
* Copyright 2012-2013 eBay Software Foundation and ios-driver committers
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
* or implied. See the License for the specific language governing permissions and limitations under
* the License.
*/

package org.uiautomation.ios.e2e.config;

import java.net.URL;

import org.apache.http.HttpHost;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.message.BasicHttpEntityEnclosingRequest;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.openqa.selenium.remote.Response;
import org.testng.Assert;
import org.testng.annotations.Test;
import org.uiautomation.ios.BaseIOSDriverTest;
import org.uiautomation.ios.SampleApps;
import org.uiautomation.ios.client.uiamodels.impl.RemoteIOSDriver;
import org.uiautomation.ios.communication.Helper;
import org.uiautomation.ios.communication.HttpClientFactory;

public class SessionsTest extends BaseIOSDriverTest {

  private String url;

  private JSONArray getSessions() throws Exception {
    HttpClient client = HttpClientFactory.getClient();
    URL u = new URL(url);
    BasicHttpEntityEnclosingRequest r = new BasicHttpEntityEnclosingRequest("GET", url);

    HttpHost h = new HttpHost(u.getHost(), u.getPort());
    HttpResponse response = client.execute(h, r);

    Response resp = Helper.exctractResponse(response);
    String value = (String) resp.getValue();
    return new JSONArray(value);
  }

  @Test
  public void canGetSessionsFromServer() throws JSONException, Exception {
    url = getRemoteURL() + "/sessions";

    Assert.assertEquals(getSessions().length(), 0);

    RemoteIOSDriver driver = new RemoteIOSDriver(getRemoteURL(), SampleApps.uiCatalogCap());
    Assert.assertEquals(getSessions().length(), 1);

    JSONObject session = getSessions().getJSONObject(0);
    Assert.assertEquals(session.getString("id"), driver.getSessionId().toString());
    driver.quit();
    Assert.assertEquals(getSessions().length(), 0);
  }
}
TOP

Related Classes of org.uiautomation.ios.e2e.config.SessionsTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.