Package com.puppetlabs.geppetto.pp.dsl.tests

Source Code of com.puppetlabs.geppetto.pp.dsl.tests.TestPptpResourceAsFile

/**
* Copyright (c) 2013 Puppet Labs, Inc. and other contributors, as listed below.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*   Puppet Labs
*/
package com.puppetlabs.geppetto.pp.dsl.tests;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.JarURLConnection;
import java.net.URL;
import java.net.URLConnection;

import com.puppetlabs.geppetto.common.util.BundleAccess;
import com.puppetlabs.geppetto.pp.dsl.target.PptpResourceUtil;
import com.puppetlabs.geppetto.pp.dsl.target.PuppetTarget;
import org.eclipse.emf.common.util.URI;
import org.junit.Test;

public class TestPptpResourceAsFile extends AbstractPuppetTests {

  void readXMLFromJarURL(URL url) throws IOException {
    URLConnection urlConnection = url.openConnection();
    assertTrue("URL is not a JarURL", urlConnection instanceof JarURLConnection);
    BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
    try {
      String firstLine = reader.readLine();
      assertEquals("Unexpected first line", "<?xml version=\"1.0\"", firstLine.substring(0, 19));
    }
    finally {
      reader.close();
    }
  }

  @Test
  public void test_PptpResourceAsFile() {
    try {
      URI uri = PptpResourceUtil.getFacter_1_6();
      assertNotNull("Facter pptp URI is null", uri);
      URL url = new URL(uri.toString());
      if("jar".equals(uri.scheme()))
        readXMLFromJarURL(url);
      else
        assertNotNull("Facter pptp file is null", get(BundleAccess.class).getResourceAsFile(url));

      uri = PuppetTarget.PUPPET27.getPlatformURI();
      assertNotNull("Puppet pptp URI is null", uri);
      url = new URL(uri.toString());
      if("jar".equals(uri.scheme()))
        readXMLFromJarURL(url);
      else
        assertNotNull("Puppet pptp file is null", get(BundleAccess.class).getResourceAsFile(url));
    }
    catch(IOException e) {
      fail("Unable to obtain File that appoints facter pptp: " + e);
    }
  }
}
TOP

Related Classes of com.puppetlabs.geppetto.pp.dsl.tests.TestPptpResourceAsFile

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.