Skip to content

Commit

Permalink
Merge pull request #172 from galasa-dev/next
Browse files Browse the repository at this point in the history
publish 0.7.0 website docs
  • Loading branch information
CaroMac authored Apr 30, 2020
2 parents 055cd26 + de1986c commit 5645fc4
Show file tree
Hide file tree
Showing 28 changed files with 720 additions and 68 deletions.
2 changes: 1 addition & 1 deletion src/components/button/button.module.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

.button {
display: inline-block;
padding: 16px 51px;
padding: 16px 31px;
text-decoration: none;
margin-right: 20px;
margin-bottom: 32px;
Expand Down
18 changes: 18 additions & 0 deletions src/components/header/header.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,24 @@ const Header = ({ extraHeight }) => {
>
Docs
</Link>
<Link
to="/releases"
onClick={() => setMenuOpen(false)}
className={
headerStyles.navLink + " " + selector("releases", location)
}
>
Releases
</Link>
<Link
to="/support"
onClick={() => setMenuOpen(false)}
className={
headerStyles.navLink + " " + selector("support", location)
}
>
Support
</Link>
<div className={headerStyles.footerRepeatedLinks}>
<a
className={headerStyles.footerRepeatedLink}
Expand Down
12 changes: 12 additions & 0 deletions src/data/nav.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
- sections:
- title: Releases
root: /releases/
items:
- title: Highlights
path: /releases/
- title: License
path: /releases/license
- title: About
root: /about/
items:
Expand Down Expand Up @@ -48,3 +55,8 @@
path: /docs/writing-own-tests/test-streams
- title: Key principles for writing tests
path: /docs/writing-own-tests/key-principles
- title: Support
root: /support/
items:
- title: Support
path: /support/
1 change: 1 addition & 0 deletions src/images/version.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion src/markdown-pages/docs/first-steps/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,6 @@ title: "Getting started"
This section takes you through the installation of the Galasa Eclipse plug-in and a quick tour of its capabilities on a local machine.

## Audience
To write and run simple Galasa tests, you need a modest knowledge of Java. Even if your application under test is written in a completely different language, you need to understand enough Java to be able to create all of your required tests.
To write and run simple Galasa tests, you need a modest knowledge of Java. Even if your application under test is written in a completely different language, you need to understand enough Java to be able to create all of your required tests.

Get started by [installing the Galasa plug-in](/docs/getting-started/installing) before [exploring Galasa Simbank](/docs/getting-started/simbank); a component distributed with Galasa that you can start playing with to help you to learn about the Galasa basics.
13 changes: 9 additions & 4 deletions src/markdown-pages/docs/first-steps/installing.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ If you do not already have an Eclipse installation, you can <a href="https://www

If you already have a version of Eclipse installed, it should be at the version codenamed Oxygen (released in June 2017) or later.

### A 3270 terminal emulator
### (Optional) A 3270 terminal emulator

Galasa is packaged with SimBank, a simulated version of an application that helps you get acquainted with Galasa before connecting to a real mainframe to run your own tests. You will need a 3270 terminal emulator to enable you to connect with and explore SimBank before running Galasa's provided suite of automated tests. There are many such emulators available but IBM's Personal Communications (PCOMM) is frequently used, as is IBM's Host on Demand software, which includes support for Windows, Linux and MacOS. Note that you do not need a 3270 emulator like PCOMM to use Galasa, only to explore SimBank from the perspective of an end user.
Although you do not need a 3270 emulator to run a galasa test (even if it tests a 3270 application) you can use one to explore Galasa Simbank, a simulated version of an application that helps you get acquainted with Galasa before connecting to a real mainframe to run your own tests. There are many such emulators available but IBM's Personal Communications (PCOMM) is frequently used, as is IBM's Host on Demand software, which includes support for Windows, Linux and MacOS.

## Installing the Galasa plug-in

Expand Down Expand Up @@ -84,12 +84,17 @@ dss.properties
zosmf.server.SIMBANK.https=false
```

Note: When using SimBank, the `overrides.properties` file is partially populated on creation and requires editing. The reason for this is to highlight how the test connects to the SimBank instance. Otherwise, the `overrides.properties` file is created as an empty file.

1. Edit a file called `credentials.properties` in your `.galasa` folder so that it contains:

```properties
secure.credentials.SIMBANK.username=IBMUSER
secure.credentials.SIMBANK.username=IBMUSER
secure.credentials.SIMBANK.password=SYS1
```
<!-- 1. Create an `.m2` folder in your user home directory (the same place as your `.galasa` folder) and inside, place a `settings.xml` file with the contents:

Note: If you have previously installed Galasa, this file is already populated.
<!-- 1. Create an `.m2` folder in your user home directory (the same place as your `.galasa` folder) and inside, place a `settings.xml` file with the contents:

```
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
Expand Down
16 changes: 16 additions & 0 deletions src/markdown-pages/docs/getting-help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
path: "/docs/support"
title: "Support"
---

If you find any problems whilst you’re using Galasa, get in touch and get the help you need:

1) Search our project management repository on GitHub and our Spectrum channel, perhaps someone has already had a similar issue and solved it.
2) If you have an error message or java stack trace, feel free to raise an issue in the project management repository and the Galasa community will get back to you as soon as possible.
3) If you have a question or a query, try our Spectrum channel. Here, experts and users from the community can come together to help you out and answer your question.

If your issue requires a code change, the community will do their best to respond and fix the problem as soon as they can. Depending on the severity of the issue, the fix might be scheduled for a future release of Galasa. Alternatively, the fix might be back ported to the current release. Naturally this is always a community decision and your input is just as important.

If you want to have a go at fixing the defect yourself, let us know and we will help you to try and fix the issue.

We are open to suggestions about more formal support, come and talk to us - we would love to hear from you.
18 changes: 11 additions & 7 deletions src/markdown-pages/docs/managers.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,39 @@ path: "/docs/managers"
title: "Managers"
---

You can find links to the Javadoc API documentation for all the Galasa Managers on the [overview page](https://javadoc.galasa.dev/).

## Managers provided with the current Galasa distribution

| Name | Description |
| :------------------------ | :------------------------------------- |
| **Artifact Manager**<br> ![release](../../images/release.svg)| Provides access to resources within a test bundle. It also provides templating services.|
| **[CECI Manager](/docs/managers/cics-ts-ceci-manager)**<br> ![alpha](../../images/alpha.svg) | Provides CECI 3270 interaction - initially supporting containers and link programs.|
| **[Artifact Manager](/docs/managers/artifact-manager)**<br> ![release](../../images/release.svg)| Provides access to resources within a test bundle. It also provides templating services.|
| **[CECI Manager](/docs/managers/cics-ts-ceci-manager)**<br> ![beta](../../images/beta.svg) | Provides CECI 3270 interaction - initially supporting containers and link programs.|
| **Core Manager**<br> ![release](../../images/release.svg) | Provides tests with access to some of the most common features within the Galasa framework, such as the ability to retrieve credentials and the name of the test run. |
| **[Docker Manager](/docs/managers/docker-manager)**<br> ![release](../../images/release.svg) | Enables containers to run on infrastructure Docker engines - either for testing directly or for assisting the testing process. |
| **[ElasticLog Manager](/docs/managers/elasticlog-manager)**<br> ![alpha](../../images/alpha.svg) | Exports test results to ElasticSearch, which can be subsequently used within Kibana dashboards. |
| **[Galasa Ecosystem Manager](/docs/managers/galasa-ecosystem-manager)**<br>![alpha](../../images/alpha.svg) | Deploys an entire Galasa ecosystem to Kubernetes to enable integration testing against Galasa. |
| **HTTP Client Manager**<br> ![beta](../../images/beta.svg) | Provides a common setup of HTTP client operations for the test (or a Manager) to use. |
| **IP Network Manager**<br> ![alpha](../../images/alpha.svg) | Provides configuration information for IP-based servers. |
| **[JMeter Manager](/docs/managers/jmeter-manager)**<br>![alpha](../../images/alpha.svg) | Configures and runs JMeter testing via Docker containers.|
| **[JMeter Manager](/docs/managers/jmeter-manager)**<br>![beta](../../images/beta.svg) | Configures and runs JMeter testing via Docker containers.|
| **[Kubernetes Manager](/docs/managers/kubernetes-manager)**<br> ![alpha](../../images/alpha.svg) | Provisions Kubernetes namespaces for tests (or Managers) to use. |
| **Linux Manager**<br> ![alpha](../../images/alpha.svg) | Provides Linux server configuration properties. Drives provisioning by other Managers such as the OpenStack Manager. |
| **OpenStack Manager**<br> ![alpha](../../images/alpha.svg) | Provisions servers within OpenStack. This Manager currently only supports Linux and provides the servers via the Linux Manager. |
| **[Selenium Manager](/docs/managers/selenium-manager)**<br> ![alpha](../../images/alpha.svg) | Allows tests to drive Web Browser testing using Selenium.|
| **[Selenium Manager](/docs/managers/selenium-manager)**<br> ![beta](../../images/beta.svg) | Allows tests to drive Web Browser testing using Selenium.|
| **z/OS 3270 Manager**<br> ![alpha](../../images/alpha.svg)| Provides tests and Managers with a 3270 client.|
| **[z/OS Batch z/OS MF Manager](/docs/managers/zos-batch-zos-mf-manager)**<br> ![beta](../../images/beta.svg) | Provides the default implementation of the z/OS Batch Manager using z/OS MF. Can only be used via the z/OS Batch Manager interface. |
| **[z/OS Batch z/OS MF Manager](/docs/managers/z-os-batch-z-os-mf-manager)**<br> ![beta](../../images/beta.svg) | Provides the default implementation of the z/OS Batch Manager using z/OS MF. Can only be used via the z/OS Batch Manager interface. |
| **[z/OS Console z/OS MF Manager](/docs/managers/zos-console-zos-mf-manager)**<br> ![beta](../../images/beta.svg) | Provides the default implementation of the z/OS Console using z/OS MF. Can only be used via the z/OS Console Manager interface. |
| **[z/OS File z/OS MF Manager](/docs/managers/zos-file-zos-mf-manager)**<br> ![beta](../../images/beta.svg) | Provides the default implementation of the z/OS File Manager using z/OS MF. Can only be used via the z/OS File Manager interface. |
| **[z/OS Manager](/docs/managers/zos-manager)**<br> ![beta](../../images/beta.svg) | Provides tests and Managers with configuration information about z/OS images and Sysplexes. It offers services such as APF, DUMP, SMF and Log access. Additionally, the z/OS Manager provides access to the following annotations:<br> - **z/OS Batch** which enables tests and Managers to submit, monitor and retrieve z/OS batch jobs. See [BatchAccountsOpenTest](/docs/running-simbank-tests/batch-accounts-open-test) for a walkthrough of a test that employs this Manager.<br> - **z/OS Console** which allows tests and Managers to issue z/OS console commands.<br> - **z/OS File** which provides tests and Managers with the ability to transfer files to and from z/OS. Supported file types include Sequential, PDS, PDSE or KSDS. |
| **[z/OS Manager](/docs/managers/zos-manager)**<br> ![beta](../../images/beta.svg) | Provides tests and Managers with configuration information about z/OS images and Sysplexes. It offers services such as APF, DUMP, SMF and Log access. Additionally, the z/OS Manager provides access to the following annotations:<br> - **z/OS Batch** which enables tests and Managers to submit, monitor and retrieve z/OS batch jobs. See [BatchAccountsOpenTest](/docs/running-simbank-tests/batch-accounts-open-test) for a walkthrough of a test that employs this Manager.<br> - **z/OS Console** which allows tests and Managers to issue z/OS console commands.<br> - **z/OS File** which provides tests and Managers with the ability to transfer files to and from z/OS. Supported file types include Sequential, PDS, PDSE or KSDS.<br> - **z/OS TSO** which requests the z/OS Manager to provide a z/OS TSO instance associated with a z/OS image. <br> - **z/OS UNIX** which requests the z/OS Manager to provide a z/OS UNIX instance associated with a z/OS image. |
| **[z/OS MF Manager](/docs/managers/zos-mf-manager)**<br> ![beta](../../images/beta.svg) | Provides tests and Managers with access to z/OS MF functions. It is used by the Batch, File and Console Managers by default. |
| **[z/OS TSO Command SSH Manager](/docs/managers/zos-tso-command-ssh-manager)**<br> ![alpha](../../images/alpha.svg) | Provides the default implementation of the z/OS TSO Command Manager using SSH. Can only be used via the z/OS TSO Command Manager interface. |
| **[z/OS UNIX Command SSH Manager](/docs/managers/zos-unix-command-ssh-manager)**<br> ![alpha](../../images/alpha.svg) | Provides the default implementation of the z/OS UNIX Command Manager using SSH. Can only be used via the z/OS UNIX Command Manager interface. |


| Key | |
| :------------------------ | :------------------------------------- |
| ![alpha](../../images/alpha.svg)| This Manager is being actively developed. It is subject to change and has not been extensively tested.|
| ![beta](../../images/beta.svg)| This Manager is feature complete but may contain known or unknown bugs.|
| ![beta](../../images/beta.svg)| This Manager is almost ready. It has been tested and the TPI is stable, but there may be minor changes to come.|
| ![release](../../images/release.svg)| This Manager is feature complete, has passed all tests and is deemed release grade.|


Expand Down
73 changes: 73 additions & 0 deletions src/markdown-pages/docs/managers/artifact-manager.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
path: "/docs/managers/artifact-manager"
title: "Artifact Manager"
---

**Release**

## Overview
This Manager allows a test to access files that are stored within the same bundle as the test code itself. Helper methods are provided to stream and substitute symbolics within the loaded file. <br><br> You can view the <a href="https://javadoc.galasa.dev/dev/galasa/artifact/package-summary.html">Javadoc documentation for this Manager here</a>. <br><br>




## Code snippets

Use the following code snippets to help you get started with the Artifact Manager.

<details><summary>Create the Artifact Manager</summary>

The ArtifactManager allows you to stream resources from within the same bundles as your test class. The easiest way to accomplish this is to use the BundleResources annotation:

```
@BundleResources
public IBundleResources resources;
```
The resources object now references the list of resources that are held within the test bundle under */src/main/resources/*. These resources can now be accessed directly by the test code, by calling methods on the resources object.

Alternatively, if the resources are within another class, you can use the ArtifactManager annotation to address the Manager directly:

```
@ArtifactManager
public IArtifactManager artifacts;
```

This will provision an instance of the Artifact Manager. In order to obtain a IBundleResources object to reference the content of the resources within a test bundle you will need to use the API:

```
IBundleResources resources = artifacts.getBundleResources(this.getClass());
```

</details>

<details><summary>Retrieving the content of a file as a string</summary>

The simplest thing that a test might want to do is retrieve the content of a file as a string. First, an input stream to the file location is constructed and then a helper method is invoked to stream the content as a string. However, if you wanted to read from the input stream yourself, then that option is available to you.

```
InputStream is = resources.retrieveFile("input/hobbit.txt");
String textContext = resources.streamAsString(is);
```
</details>

<details><summary>Substituting variables into a file</summary>

As you read a file from the local bundle you might want to substitute values into the file before retrieving it. This is called within Galasa as retrieving a skeleton file from the bundle. The first step is to create a HashMap containing the name of the variables that you want to be substituted in the target file, as well as the value that should be used.

```
HashMap<String, Object> parameters = new HashMap<String, Object>();
parameters.put("ACCOUNT_NUMBER", "123456789");
parameters.put("AMOUNT", "50.05");
```

In this case we are adding two items to the HashMap, setting the substitute values for both ACCOUNT_NUMBER and AMOUNT. This HashMap is then passed to the retrieveSkeletonFile method.

```
InputStream is = resources.retrieveSkeletonFile("input/hobbit.txt", parameters);
String textContext = resources.streamAsString(is);
```

When the file is now retrieved from the local bundle all references to ++ACCOUNT_NUMBER++ and ++AMOUNT++ will be substituted for "123456789" and "50.05" respectively. Note that these substitutions are for the instance of the test that is running. The actual copy of the file in the bundle is unchanged and cannot affect any other instances of the test that are running at the same time.
</details>


Loading

0 comments on commit 5645fc4

Please sign in to comment.