Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
90 changes: 82 additions & 8 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ pool:
steps:
- script: |
echo "Starting Pipeline Execution."
mkdir temp
echo ${PWD}
echo "Copy SOAtest project contents to volume directory."
cp -R $(soatest.project) temp/.

ls -lrth
cat <<'EOF' > deploy-aci.yml
apiVersion: '2019-12-01'
Expand All @@ -24,9 +29,9 @@ steps:
- name: file-share-demo
properties:
environmentVariables: []
image: mcr.microsoft.com/azuredocs/aci-hellofiles
image: lavanya93/parabank-baseline:2022
ports:
- port: 80
- port: 8080
resources:
requests:
cpu: 1.0
Expand All @@ -39,8 +44,8 @@ steps:
ipAddress:
type: Public
ports:
- port: 80
dnsNameLabel: aci-demo1234
- port: 8080
dnsNameLabel: devparasoftcom
volumes:
- name: parasoftfiles
azureFile:
Expand All @@ -53,7 +58,76 @@ steps:

az login
az container create --resource-group ADOProject_group --file deploy-aci.yml
sleep 4m
nc -vz aci-demo1234.eastus.azurecontainer.io 80
az container stop --name file-share-demo --resource-group ADOProject_group
az container delete --resource-group ADOProject_group --name file-share-demo

# Set Up and write .properties file
echo -e "\n~~~\nSetting up and creating soatestcli.properties file.\n"
echo $"
dtp.url=$(license.server.url)
dtp.user=admin
dtp.password=$(license.server.password)
dtp.share.enabled=true
dtp.enabled=true
dtp.project=ADO
report.dtp.publish=true
techsupport.advanced=false
techsupport.auto_creation=true
techsupport.item.environment=true
techsupport.item.general=true
techsupport.archive_location=/temp
techsupport.send_email=false
techsupport.verbose=true
techsupport.verbose.scontrol=false
license.network.auth.enabled=true
license.network.password=$(license.server.password)
license.network.url=$(license.server.url)
license.network.use.specified.server=true
license.network.user=admin
soatest.license.network.edition=automation_edition
soatest.license.use_network=true
virtualize.license.network.edition=performance_server_edition
virtualize.license.use_network=true" >> temp/soatestcli.properties
echo -e "\nDebug -- Verify workspace contents.\n"
ls -R
echo -e "\nDebug -- Verify soatestcli.properties file contents."
cat temp/soatestcli.properties
echo -e "\n~~~\nSetting up and creating localsettings.properties file.\n"

# Run Docker container with mount and run tests
echo -e "\n~~~\nRun SOAtestCLI Docker container & mount ./temp volume.\n"

docker --version

docker run -i \
-u 0:0 \
-e ACCEPT_EULA=true \
-v "$(pwd)/temp:/temp" \
parasoft/soavirt /bin/bash -c " \
cat /temp/soatestcli.properties; \
soatestcli \
-settings /temp/soatestcli.properties \
-import /temp/$(soatest.project); \
soatestcli \
-resource /$(soatest.project) \
-config 'user://Example Configuration' \
-settings /temp/soatestcli.properties \
-report /temp \
-publish" \

echo "stopping container"
az container stop --name file-share-demo --resource-group ADOProject_group

echo "deleting container"
az container delete --resource-group ADOProject_group --name file-share-demo --yes

docker ps \
echo -e "\nDebug -- Verify ./temp contents\n"

ls -R $(pwd)/temp

displayName: Run Tests
env:
pwd: $(Build.Repository.LocalPath)

- publish: /home/vsts/work/1/s/temp
artifact: TSA
# Publish Test Results
117 changes: 117 additions & 0 deletions jtest_unit/Demo/.mvn/wrapper/MavenWrapperDownloader.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
/*
* Copyright 2007-present the original author or authors.
*
* 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.
*/
import java.net.*;
import java.io.*;
import java.nio.channels.*;
import java.util.Properties;

public class MavenWrapperDownloader {

private static final String WRAPPER_VERSION = "0.5.6";
/**
* Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
*/
private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
+ WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";

/**
* Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
* use instead of the default one.
*/
private static final String MAVEN_WRAPPER_PROPERTIES_PATH =
".mvn/wrapper/maven-wrapper.properties";

/**
* Path where the maven-wrapper.jar will be saved to.
*/
private static final String MAVEN_WRAPPER_JAR_PATH =
".mvn/wrapper/maven-wrapper.jar";

/**
* Name of the property which should be used to override the default download url for the wrapper.
*/
private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl";

public static void main(String args[]) {
System.out.println("- Downloader started");
File baseDirectory = new File(args[0]);
System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath());

// If the maven-wrapper.properties exists, read it and check if it contains a custom
// wrapperUrl parameter.
File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH);
String url = DEFAULT_DOWNLOAD_URL;
if(mavenWrapperPropertyFile.exists()) {
FileInputStream mavenWrapperPropertyFileInputStream = null;
try {
mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile);
Properties mavenWrapperProperties = new Properties();
mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream);
url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url);
} catch (IOException e) {
System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'");
} finally {
try {
if(mavenWrapperPropertyFileInputStream != null) {
mavenWrapperPropertyFileInputStream.close();
}
} catch (IOException e) {
// Ignore ...
}
}
}
System.out.println("- Downloading from: " + url);

File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH);
if(!outputFile.getParentFile().exists()) {
if(!outputFile.getParentFile().mkdirs()) {
System.out.println(
"- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'");
}
}
System.out.println("- Downloading to: " + outputFile.getAbsolutePath());
try {
downloadFileFromURL(url, outputFile);
System.out.println("Done");
System.exit(0);
} catch (Throwable e) {
System.out.println("- Error downloading");
e.printStackTrace();
System.exit(1);
}
}

private static void downloadFileFromURL(String urlString, File destination) throws Exception {
if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) {
String username = System.getenv("MVNW_USERNAME");
char[] password = System.getenv("MVNW_PASSWORD").toCharArray();
Authenticator.setDefault(new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(username, password);
}
});
}
URL website = new URL(urlString);
ReadableByteChannel rbc;
rbc = Channels.newChannel(website.openStream());
FileOutputStream fos = new FileOutputStream(destination);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
fos.close();
rbc.close();
}

}
Binary file added jtest_unit/Demo/.mvn/wrapper/maven-wrapper.jar
Binary file not shown.
2 changes: 2 additions & 0 deletions jtest_unit/Demo/.mvn/wrapper/maven-wrapper.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.2/apache-maven-3.6.2-bin.zip
wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
8 changes: 8 additions & 0 deletions jtest_unit/Demo/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8
3 changes: 3 additions & 0 deletions jtest_unit/Demo/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 11.0-b16 (Sun Microsystems Inc.)
Loading