blob: 9a6621c25f0f7d5ba6f29548f4b1b2af02eda1c5 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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.netbeans.modules.websvc.saas.codegen;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import javax.swing.text.Document;
//import org.apache.tools.ant.module.api.support.ActionUtils;
import org.netbeans.junit.NbTestCase;
import org.netbeans.modules.websvc.saas.codegen.util.Util;
import org.netbeans.modules.websvc.saas.model.*;
import org.netbeans.modules.websvc.saas.model.wadl.Method;
import org.openide.filesystems.FileObject;
import org.openide.filesystems.FileUtil;
import org.openide.util.Exceptions;
/**
*
* @author ayubkhan
*/
public class JavaCodeGenerationTest extends NbTestCase {
private static final List<String> nonhyperlinkedOut = new ArrayList<String>();
private static final List<String> nonhyperlinkedErr = new ArrayList<String>();
private static final List<String> hyperlinkedOut = new ArrayList<String>();
private static final List<String> hyperlinkedErr = new ArrayList<String>();
private FileObject targetFolder;
private Properties props;
public JavaCodeGenerationTest(String testName) {
super(testName);
}
@Override
protected void setUp() throws Exception {
super.setUp();
targetFolder = FileUtil.createFolder(new File("/tmp/testuserdir"));
nonhyperlinkedOut.clear();
nonhyperlinkedErr.clear();
hyperlinkedOut.clear();
hyperlinkedErr.clear();
// String junitJarS = System.getProperty("test.junit.jar");
// assertNotNull("defined test.junit.jar", junitJarS);
// File junitJar = new File(junitJarS);
// assertTrue("file " + junitJar + " exists", junitJar.isFile());
// props = new Properties();
// props.setProperty("libs.junit.classpath", junitJar.getAbsolutePath()); // #50261
}
@Override
protected void tearDown() throws Exception {
}
public void testWadlDragnDrop() {
try {
SetupUtil.commonSetUp(super.getWorkDir());
InputStream is = this.getClass().getResourceAsStream("JavaApplication.zip");
TestUtils.unZipFile(is, targetFolder);
} catch (Exception ex) {
assertFalse("Failed with exception: "+ex.getMessage(), ex != null);
}
FileObject targetFO = targetFolder.getFileObject("JavaApplication/src/javaapplication/Main.java");
assertTrue("Target File is null", targetFO != null);
SaasServicesModel instance = SaasServicesModel.getInstance();
SaasGroup group = instance.getRootGroup().getChildGroup("Delicious");
WadlSaas saas = (WadlSaas) group.getServices().get(0);
assertEquals("Bookmarking Service", saas.getDisplayName());
WadlSaasMethod method = saas.getResources().get(0).getChildResources().get(0).getMethods().get(0);
Method m = method.getWadlMethod();
if (m == null) {
Exceptions.printStackTrace(new IOException("Wadl method not found"));
}
try {
Document doc = Util.getDocument(targetFO);
SaasClientCodeGenerator codegen =
(SaasClientCodeGenerator) SaasClientCodeGenerationManager.lookup(method, doc);
codegen.generate();
FileObject buildXml = targetFolder.getFileObject("JavaApplication/build.xml");
assertNotNull("have build.xml as a FileObject", buildXml);
// ActionUtils.runTarget(buildXml, new String[]{"clean", "run"}, props).result();
//System.out.println("nonhyperlinkedOut=" + nonhyperlinkedOut + " nonhyperlinkedErr=" + nonhyperlinkedErr + " hyperlinkedOut=" + hyperlinkedOut + " hyperlinkedErr=" + hyperlinkedErr);
assertTrue("hyperlinkedErr found", hyperlinkedErr.size() == 0);
assertTrue("hyperlinkedOut found ", hyperlinkedOut.size() == 0);
assertTrue("nonhyperlinkedErr found", nonhyperlinkedErr.size() == 0);
assertTrue("nonhyperlinkedErr found", nonhyperlinkedErr.size() == 0);
} catch (Exception ex) {
assertFalse("Failed with exception: "+ex.getMessage(), ex != null);
}
}
}