Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java')
-rw-r--r--tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java358
1 files changed, 0 insertions, 358 deletions
diff --git a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java b/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java
deleted file mode 100644
index 545853013..000000000
--- a/tests/org.eclipse.wst.wsdl.validation.tests/src/org/eclipse/wst/wsdl/validation/tests/internal/BaseTestCase.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 2004 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.wsdl.validation.tests.internal;
-
-import java.io.BufferedReader;
-import java.io.DataOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import junit.framework.TestCase;
-
-import org.eclipse.core.internal.resources.ProjectDescription;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IProjectDescription;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IClasspathEntry;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.wst.wsdl.validation.internal.IValidationMessage;
-import org.eclipse.wst.wsdl.validation.internal.IValidationReport;
-import org.eclipse.wst.wsdl.validation.internal.ui.eclipse.WSDLValidator;
-
-/**
- * Base test case class which provides methods to
- * - create logs
- * - read from logs
- * - run log comparison tests
- *
- * @author Lawrence Mandel, IBM
- */
-public class BaseTestCase extends TestCase
-{
- protected String FILE_PROTOCOL = "file://";
- protected String PLUGIN_ABSOLUTE_PATH;
- protected String SAMPLES_DIR = "testresources/samples/";
- protected String GENERATED_RESULTS_DIR = "testresources/generatedResults/";
- protected String IDEAL_RESULTS_DIR = "testresources/idealResults/";
- protected String LOG_FILE_LOCATION = "results.log";
-
- protected static final String PLUGIN_NAME = "org.eclipse.wst.wsdl.validation.tests";
- private WSDLValidator validator = WSDLValidator.getInstance();
-
- /* (non-Javadoc)
- * @see junit.framework.TestCase#setUp()
- */
- protected void setUp()
- {
- PLUGIN_ABSOLUTE_PATH = WSDLValidatorTestsPlugin.getPluginLocation();
-
- // Set the WS-I preference to ignore so only WSDL errors will be tested.
- // TODO: Re-enable this WS-I disablement code once WS preference plugin is moved to WST.
- //WebServiceUIPlugin wsui = WebServiceUIPlugin.getInstance();
- //PersistentWSIContext wsicontext = wsui.getWSISSBPContext();
- //wsicontext.updateWSICompliances(PersistentWSIContext.IGNORE_NON_WSI);
- //wsicontext = wsui.getWSIAPContext();
- //wsicontext.updateWSICompliances(PersistentWSIContext.IGNORE_NON_WSI);
- }
-
- /**
- * Run a validator test. The test will run the validator, log the results and compare the results
- * with the ideal results. The test will only pass if the two log files are the same.
- *
- * @param testfile The file to run the validator test on.
- * @param loglocation The location to create the log file.
- * @param idealloglocation The location of the ideal log file.
- */
- public void runTest(String testfile, String loglocation, String idealloglocation)
- {
- IValidationReport valreport = validator.validate(testfile);
- try
- {
- createLog(loglocation, valreport);
- String generatedLog = getStringFromFile(loglocation);
- String idealLog = getStringFromFile(idealloglocation);
- assertEquals(idealLog, generatedLog);
- } catch (Exception e)
- {
- fail("Could not compare log files");
- }
- }
-
- /**
- * Get a string representation of a file.
- *
- * @param filename the file name of the file to get the string representation.
- * @return The string representation if successful.
- * @throws Exception Thrown if unable to create a string representaion of the file.
- */
- private String getStringFromFile(String filename) throws Exception
- {
- if(filename.startsWith("file:"))
- {
- filename = filename.substring(6);
- while(filename.startsWith("\\") || filename.startsWith("/"))
- {
- filename = filename.substring(1);
- }
- }
- StringBuffer filestring = new StringBuffer();
- Reader reader = null;
- BufferedReader bufreader = null;
- try
- {
- File file = new File(filename);
- reader = new FileReader(file);
- bufreader = new BufferedReader(reader);
- while (bufreader.ready())
- {
- filestring.append(bufreader.readLine() + "\n");
- }
- } catch (FileNotFoundException e)
- {
- throw new Exception();
- } finally
- {
- bufreader.close();
- reader.close();
- }
- return filestring.toString();
- }
-
- /**
- * Create a log file for an XSD test.
- *
- * @param filename The name of the log file to create.
- * @param valreport The validation report for this file.
- * @return The file contents as a string if successful or null if not successful.
- */
- private String createLog(String filename, IValidationReport valreport)
- {
- if(filename.startsWith("file:"))
- {
- filename = filename.substring(6);
- while(filename.startsWith("\\") || filename.startsWith("/"))
- {
- filename = filename.substring(1);
- }
- }
- IValidationMessage[] valmessages = valreport.getValidationMessages();
- int nummessages = valmessages.length;//validator.getErrors().size() + validator.getWarnings().size();
- StringBuffer errorsString = new StringBuffer();
- StringBuffer warningsString = new StringBuffer();
- int numerrors = 0;
- int numwarnings = 0;
- for(int i = 0; i < nummessages; i++)
- {
- IValidationMessage valmes = valmessages[i];
- if(valmes.getSeverity() == IValidationMessage.SEV_WARNING)
- {
- numwarnings++;
- // If the message contains any file references make them relative.
- String message = valmes.getMessage();
- message = message.replaceAll("'[^']*" + PLUGIN_NAME, "'" + PLUGIN_NAME);
- message = message.replaceAll("[(][^(]*" + PLUGIN_NAME, "[(]" + PLUGIN_NAME);
- warningsString.append(message + " [" + valmes.getLine() +", " + valmes.getColumn() +"]\n");
- warningsString.append(createNestedMessageString(valmes.getNestedMessages()));
- }
- else
- {
- numerrors++;
- // If the message contains any file references make them relative.
- String message = valmes.getMessage();
- message = message.replaceAll("'[^']*" + PLUGIN_NAME, "'" + PLUGIN_NAME);
- message = message.replaceAll("[(][^(]*" + PLUGIN_NAME, "(" + PLUGIN_NAME);
- errorsString.append(message + " [" + valmes.getLine() +", " + valmes.getColumn() +"]\n");
- errorsString.append(createNestedMessageString(valmes.getNestedMessages()));
- }
- }
- StringBuffer log = new StringBuffer();
- log.append("number of errors : " + numerrors + "\n");
- log.append("number of warnings : " + numwarnings + "\n\n");
- log.append("------------error list-------------------------------------------\n");
- if(numerrors == 0)
- {
- log.append("(none)\n");
- }
- else
- {
- log.append(errorsString.toString());
- }
- log.append("------------warning list-----------------------------------------\n");
- if(numwarnings == 0)
- {
- log.append("(none)\n");
- }
- else
- {
- log.append(warningsString.toString());
- }
- log.append("-----------------------------------------------------------------\n");
-
- DataOutputStream outStream = null;
- try
- {
- File logfile = new File(filename);
- File parent = logfile.getParentFile();
- if (!parent.exists())
- {
- parent.mkdirs();
- }
- if(logfile.exists())
- {
- logfile.delete();
- }
- logfile.createNewFile();
-
- outStream = new DataOutputStream(new FileOutputStream(filename, true));
- outStream.writeBytes(log.toString());
- outStream.close();
-
- } catch (IOException e)
- {
- // If we can't write the log then clear the log.
- log.delete(0, log.length());
- }
- return log.toString();
- }
-
- private String createNestedMessageString(List nestedMessages)
- {
- return createNestedMessageString(nestedMessages, 0);
- }
-
- private String createNestedMessageString(List nestedMessages, int depth)
- {
- if(nestedMessages != null && nestedMessages.size() > 0)
- {
- String messageString = "";
- Iterator nestedMesIter = nestedMessages.iterator();
- while(nestedMesIter.hasNext())
- {
- IValidationMessage nesvalmes = (IValidationMessage)nestedMesIter.next();
- for(int i = 0; i < depth; i++)
- {
- messageString += " ";
- }
- // If the message contains any file references make them relative.
- String message = nesvalmes.getMessage();
- message = message.replaceAll("'[^']*" + PLUGIN_NAME, "'" + PLUGIN_NAME);
- message = message.replaceAll("[(][^(]*" + PLUGIN_NAME, "[(]" + PLUGIN_NAME);
- messageString += ("-> " + message + " [" + nesvalmes.getLine() +", " + nesvalmes.getColumn() +"]\n");
- messageString += createNestedMessageString(nesvalmes.getNestedMessages(), depth + 1);
- }
- return messageString;
- }
- else
- {
- return "";
- }
- }
-
- protected IProject createProject(String projectName, String[] files, String[] projectNatures, IProject[] referencedProjects)
- {
- final IWorkspace workspace = ResourcesPlugin.getWorkspace();
- final IProject project = workspace.getRoot().getProject(projectName);
- if(!project.exists())
- {
- try
- {
- project.create(null);
- }
- catch(CoreException e)
- {
- fail("Could not create project " + projectName + e);
- }
- }
- if(!project.isOpen())
- {
- try
- {
- project.open(null);
- }
- catch(CoreException e)
- {
- fail("Could not open project " + projectName + e);
- }
- }
- try
- {
- IProjectDescription projectDescription = new ProjectDescription();
- projectDescription.setName(projectName);
- projectDescription.setNatureIds(projectNatures);
- if(referencedProjects!=null)
- {
- projectDescription.setReferencedProjects(referencedProjects);
- }
- project.setDescription(projectDescription, null);
- }
- catch(Exception e)
- {
- fail("Unable to set project properties for project " + projectName + ". " + e);
- }
- IJavaProject javaProject = JavaCore.create(project);
- try
- {
- javaProject.open(null);
- List entries = new ArrayList();
- entries.add(JavaCore.newSourceEntry(new Path("default")));
-
- if(referencedProjects != null)
- {
- for(int i = 0; i < referencedProjects.length; i++)
- {
- entries.add(JavaCore.newProjectEntry(referencedProjects[i].getLocation()));
- }
- }
- javaProject.setRawClasspath((IClasspathEntry[])entries.toArray(new IClasspathEntry[entries.size()]), null);
- }
- catch(Exception e)
- {
- fail("Can't open Java project: " + e);
- }
-
- if(files != null)
- {
- int numfiles = files.length;
- for(int i = 0; i < numfiles; i++)
- {
- try
- {
- File file = new File(files[i]);
- FileInputStream in = new FileInputStream(file);
- IFile iFile = project.getFile(file.getName());
- if(!iFile.exists())
- {
- iFile.create(in, true, null);
- in.close();
- }
- }
- catch(Exception e)
- {
- fail("Unable to locate file " + files[i]);
- }
- }
- }
- return project;
- }
-}

Back to the top