Package com.puppetlabs.geppetto.ruby.tests

Source Code of com.puppetlabs.geppetto.ruby.tests.SmokeTest

/**
* 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.ruby.tests;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

import java.io.File;

import com.puppetlabs.geppetto.ruby.RubyHelper;
import com.puppetlabs.geppetto.ruby.spi.IRubyIssue;
import com.puppetlabs.geppetto.ruby.spi.IRubyParseResult;
import org.eclipse.core.runtime.Path;
import org.junit.Test;

public class SmokeTest {

  @Test
  public void testConfiguration() {
    RubyHelper rubyHelper = new RubyHelper();
    rubyHelper.setUp();
    assertTrue("Should have a real ruby service configured", rubyHelper.isRubyServicesAvailable());
  }

  @Test
  public void testHelloBrokenWorld() throws Exception {
    File aRubyFile = TestDataProvider.getTestFile(new Path("testData/ruby/helloBrokenWorld.rb"));
    RubyHelper helper = new RubyHelper();
    helper.setUp();
    try {
      IRubyParseResult r = helper.parse(aRubyFile);
      assertEquals("Expect one error", 1, r.getIssues().size());
      IRubyIssue theIssue = r.getIssues().get(0);
      assertTrue("Expect one syntax error", theIssue.isSyntaxError());
      assertEquals("source line starts with 1", 1, theIssue.getLine());
      assertEquals("the file path is reported", aRubyFile.getPath(), theIssue.getFileName());
      assertTrue("the error message is the expected", theIssue.getMessage().contains("unexpected tLPAREN_ARG"));
      // assertTrue("the error message is the expected", theIssue.getMessage().startsWith("syntax error, unexpected tLPAREN_ARG"));
    }
    finally {
      helper.tearDown();
    }
  }

  @Test
  public void testHelloBrokenWorld2() throws Exception {
    File aRubyFile = TestDataProvider.getTestFile(new Path("testData/ruby/helloBrokenWorld2.rb"));
    RubyHelper helper = new RubyHelper();
    helper.setUp();
    try {
      IRubyParseResult r = helper.parse(aRubyFile);
      assertEquals("Expect one error", 1, r.getIssues().size());
      IRubyIssue theIssue = r.getIssues().get(0);
      assertTrue("Expect one syntax error", theIssue.isSyntaxError());
      assertEquals("source line is 2", 2, theIssue.getLine());
      assertEquals("the file path is reported", aRubyFile.getPath(), theIssue.getFileName());
      assertTrue("the error message is the expected", theIssue.getMessage().contains("unexpected tLPAREN_ARG"));
    }
    finally {
      helper.tearDown();
    }
  }

  @Test
  public void testHelloWorld() throws Exception {
    File aRubyFile = TestDataProvider.getTestFile(new Path("testData/ruby/helloWorld.rb"));
    RubyHelper helper = new RubyHelper();
    helper.setUp();
    helper.parse(aRubyFile);
    helper.tearDown();
  }

}
TOP

Related Classes of com.puppetlabs.geppetto.ruby.tests.SmokeTest

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.