Skip to content

Commit 1d05f7f

Browse files
paulswithersGitHub Enterprise
authored andcommitted
Merge pull request #7 from Volt-MX-GO/MXGO-1176
MXGO-1176
2 parents 22abcde + 56ea299 commit 1d05f7f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+924
-1399
lines changed

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# CHANGELOG
2+
3+
## [1.0.0] - 2023-09-21
4+
5+
- Updating atlas.json
6+
- Updating .bss to .vss
7+
- Updated API doc
8+
- Adding details about dependency management
9+
10+
## [1.0.0 RC2] - 2023-04-21
11+
12+
- Renaming from bali-unit to VoltScriptTesting
13+
- Updated API doc
14+
15+
## [1.0.0 RC1] - 2023-02-01
16+
17+
- Initial release

CODE_OF_CONDUCT.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
Projects should foster a positive environment, to ensure active and pleasant participation for all. This is wording for a contributor covenant, amended from [Contributor Covenant 2.0](https://www.contributor-covenant.org/version/2/0/code_of_conduct/).
4+
5+
## Our Pledge
6+
7+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
8+
9+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
10+
11+
## Our Standards
12+
13+
Examples of behavior that contributes to a positive environment for our community include:
14+
15+
-> Demonstrating empathy and kindness toward other people
16+
- Being respectful of differing opinions, viewpoints, and experiences
17+
- Giving and gracefully accepting constructive feedback
18+
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
19+
- Focusing on what is best not just for us as individuals, but for the overall community
20+
21+
Examples of unacceptable behavior include:
22+
23+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
24+
- Trolling, insulting or derogatory comments, and personal or political attacks
25+
- Public or private harassment
26+
- Publishing others’ private information, such as a physical or email address, without their explicit permission
27+
- Other conduct which could reasonably be considered inappropriate in a professional setting
28+
29+
## Enforcement Responsibilities
30+
31+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
32+
33+
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
34+
35+
## Scope
36+
37+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
38+
39+
## Enforcement
40+
41+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the HCL Open Source Project Officer, who is responsible for enforcement, at [ospo.hclsoftware@hcl.com](mailto:ospo.hclsoftware@hcl.com). All complaints will be reviewed and investigated promptly and fairly. The HCL Open Source Project Office is obligated to respect the privacy and security of the reporter of any incident. Details of enforcement policies may be posted separately.
42+
43+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by the HCL Open Source Project Office.
44+
45+
## Attribution
46+
47+
This Code of Conduct is adapted from the Contributor Covenant, version 2.0, available at <a href="https://www.contributor-covenant.org/version/2/0/code_of_conduct.html">https://www.contributor-covenant.org/version/2/0/code_of_conduct.html</a>.
48+
49+
Community Impact Guidelines were inspired by Mozilla’s code of conduct enforcement ladder.
50+
51+
For answers to common questions about this code of conduct, see the FAQ at <a href="https://www.contributor-covenant.org/faq">https://www.contributor-covenant.org/faq</a>.

CONTRIBUTING.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Contributing Guidelines
2+
3+
## Contributor roles
4+
5+
Open source should not be just about writing code. A good open source project also needs:
6+
7+
- Documentation writers
8+
- Testers
9+
- Tutorial writers
10+
- Evangelists
11+
- Automation builders
12+
13+
If you want to get involved in a role (including ones we may have missed!) reach out to one of the committers.
14+
15+
## Working on issues
16+
17+
- Ensure there is a GitHub issue for any bug before submitting a PR.
18+
- Enhancements should be discussed and a feature request issue created, before starting work on it.
19+
- Fork and raise a PR for work.
20+
- Add tests for any enhancements.
21+
- Ensure documentation is updated accordingly, including adding unit test reports.
22+
- Ensure API docs are updated (speak to an HCL-ite if required).
23+
- Ensure changelog is updated.
24+
25+
## Development Environment
26+
27+
- Develop code with Visual Studio Code and VoltScript extensions, see https://help.hcltechsw.com/docs/voltscript/early-access/howto/writing/index.html.
28+
- Documentation uses Material for MKDocs framework:
29+
- Write documentation in the relevant area of the docs directory.
30+
- Preview documentation using MKDocs, either [locally installed with relevant plugins](https://squidfunk.github.io/mkdocs-material/getting-started/) or using the [MKDocs HCL Container Image](https://github.com/HCL-TECH-SOFTWARE/hcl-mkdocs-build-image)
31+
32+
## PRs
33+
34+
- When ready, complete a PR and submit.
35+
- Review the requirements for submitting a PR, for example writing test and updating documentation.

README.md

Lines changed: 49 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,46 @@
22

33
VoltScript Testing Framework is a framework for testing code written using VoltScript, the evolution of LotusScript delivered as part of HCL Volt MX Go. The framework can also be used for LotusScript, with modifications (see below on new language functions used). There are deliberately no dependencies on any LSXs (e.g nlsxbe.dll). None should be added, it will make it dependent on a particular implementation. Create separate classes derived from CustomTester to test individual LSXs or custom classes.
44

5+
## Using dependency management
6+
7+
Dependency management is available in the documentation for each project, but also aggregated here:
8+
9+
### Authentication
10+
11+
You'll need a [Personal Access Token](../howto/writing/archipelago.md#github-personal-access-token) to use GitHub REST APIs. You'll then need to add this to the JSON object in your [atlas-settings.json](../howto/writing/archipelago.md#atlas-settingsjson), in the .vss directory of your user home directory:
12+
13+
```json
14+
"hcl-github": {
15+
"type": "github",
16+
"token": "${env.TOKEN}"
17+
}
18+
```
19+
20+
### Repository
21+
22+
You'll need to add to your **repositories** object in the atlas.json of your project:
23+
24+
```json
25+
{
26+
"id": "hcl-github",
27+
"type": "github",
28+
"url": "https://api.github.com/HCL-TECH-SOFTWARE"
29+
}
30+
```
31+
32+
### Dependency
33+
34+
You'll need the relevant dependency to add to your **dependencies** or **testDependencies** object in the atlas.json of your project:
35+
36+
```json
37+
{
38+
"library": "voltscript-testing",
39+
"version": "1.0.0",
40+
"module": "VoltScriptTesting.vss",
41+
"repository": "hcl-github"
42+
}
43+
```
44+
545
## Writing VoltScript Tests
646

747
See [Writing Units Tests](/docs/howto/writingtests.md).
@@ -10,17 +50,18 @@ See [Writing Units Tests](/docs/howto/writingtests.md).
1050

1151
Obviously the code runs certain core language functions. These are documented in [Core Functions](/docs/references/CoreFunctions.md).
1252

13-
There are three new VoltScript language functions used - Try/Catch/Finally and GetThreadInfo(12) in TestRunner.bss and ++/-- in SampleBeforeAfterTester.bss.
53+
There are three new VoltScript language functions used - Try/Catch/Finally and GetThreadInfo(12) in TestRunner.vss and ++/-- in SampleBeforeAfterTester.vss.
54+
55+
## Contributing
1456

15-
### Documentation
57+
See [CONTRIBUTING.md](contributing.md).
1658

17-
Documentation uses [Material for MKDocs](https://squidfunk.github.io/mkdocs-material/getting-started/#installation), which uses Markdown files in the docs directory. The [awesome-pages](https://github.com/lukasgeiter/mkdocs-awesome-pages-plugin) is the only additional plugin in use.
59+
## Code of Conduct
1860

19-
This can be previewed using a Docker container or locally. To run locally, follow the [Material for MKDocs documentation](https://squidfunk.github.io/mkdocs-material/getting-started/#with-pip) and the steps to install awesome-pages plugin on their GitHub.
61+
See [CODE_OF_CONDUCT.md](code_of_conduct.md).
2062

21-
To use with Docker, a Dockerfile has been included. In a terminal, navigate to the docker directory. Issue the command `docker build -t mkdocs-plus .` This creates a Docker image based on MKDocs Material image, adding the additional plugin. If you are using a M1 Mac, a different starting image will be needed, `ghcr.io/afritzler/mkdocs-material`, see https://github.com/afritzler/mkdocs-material.
63+
## Issues and discussions
2264

23-
Once the Docker container is created, it can be started as a temporary container by:
65+
Let's chat on [OpenNTF Discord](https://openntf.org/discord).
2466

25-
1. Open a terminal and navigate to this directory.
26-
2. Issue the command `docker run --rm -it -p 8000:8000 -v ${PWD}:/docs mkdocs-plus`. On Windows, `${PWD}` maps to the current directory for PowerShell, `%cd%` for a normal Windows cmd prompt. Other MKDocs commands can be appended, as required - see MKDocs documentation for more details.
67+
For long-running discussions, use Discussions area in GitHub. For bugs and feature requests **specific to VoltScript Testing Framework** use, Issues area.

atlas.json

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,14 @@
1313
"sourceDir": "src",
1414
"testDir": "test",
1515
"libsDir": "",
16-
"lsxsDir": "",
16+
"vsesDir": "",
1717
"mainScripts": [
18-
"VoltScriptTesting.bss"
18+
"VoltScriptTesting.vss"
1919
],
2020
"unitTestScripts": [
21-
"BasicTester.bss"
21+
"BasicTester.vss",
22+
"SampleBeforeAftertester.vss",
23+
"SampleCustomTester.vss"
2224
],
2325
"integrationTestScripts": [
2426

@@ -31,6 +33,6 @@
3133
"testDependencies": [
3234

3335
],
34-
"dependenciesLSX": {
36+
"vseDependencies": {
3537
}
3638
}

docker/Dockerfile

Lines changed: 0 additions & 4 deletions
This file was deleted.

docs/assets/example_code/TestBootstrap.bss renamed to docs/assets/example_code/TestBootstrap.vss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
%END REM
2020
Option Public
2121
Option Declare
22-
Use "VoltScriptTesting"
22+
Use "../libs/VoltScriptTesting"
2323
Sub Initialize
2424
Dim testRunner As TestRunner
2525
Dim results As Integer

docs/howto/.pages

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
nav:
22
- index.md
3+
- archipelago.md
34
- Standalone.md
45
- Aggregate test suites: TestRunner.md
56
- writingtests.md

docs/howto/archipelago.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Using dependency management
2+
3+
!!!info
4+
For generic how-to information about VoltScript Dependency Management, see [VoltScript documentation](https://help.hcltechsw.com/docs/voltscript/early-access/howto/writing/archipelago.html).
5+
6+
Dependency management is available in the documentation for each project, but also aggregated here:
7+
8+
## Authentication
9+
10+
You'll need a [Personal Access Token](https://help.hcltechsw.com/docs/voltscript/early-access/howto/writing/archipelago.md#github-personal-access-token) to use GitHub REST APIs. You'll then need to add this to the JSON object in your [atlas-settings.json](https://help.hcltechsw.com/docs/voltscript/early-access/howto/writing/archipelago.md#atlas-settingsjson), in the .vss directory of your user home directory:
11+
12+
```json
13+
"hcl-github": {
14+
"type": "github",
15+
"token": "${env.TOKEN}"
16+
}
17+
```
18+
19+
## Repository
20+
21+
You'll need to add to your **repositories** object in the atlas.json of your project:
22+
23+
```json
24+
{
25+
"id": "hcl-github",
26+
"type": "github",
27+
"url": "https://api.github.com/HCL-TECH-SOFTWARE"
28+
}
29+
```
30+
31+
## Dependency
32+
33+
You'll need the relevant dependency to add to your **dependencies** or **testDependencies** object in the atlas.json of your project:
34+
35+
```json
36+
{
37+
"library": "voltscript-testing",
38+
"version": "1.0.0",
39+
"module": "VoltScriptTesting.vss",
40+
"repository": "hcl-github"
41+
}
42+
```

docs/index.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ There are no dependencies on any LotusScript Extensions (LSX), such as `nlsxbe.d
1313

1414
For the latest release information about VoltScript Testing, see [What's new](references/whatsnew.md)
1515

16+
---
17+
## Using via dependency management
18+
19+
For using with dependency management, see [Using dependency management](howto/archipelago.md)
20+
1621
---
1722
## How the documentation is organized
1823

0 commit comments

Comments
 (0)