mirror of
https://github.com/s4u/maven-settings-action.git
synced 2026-02-13 00:05:25 +08:00
Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| e967605742 | |||
| e65dc96bde | |||
| b742fc533f | |||
| d1f8f65870 | |||
| de53ea431e | |||
| cd16d8406c | |||
| abf1253b29 | |||
| 7a5cb7ba33 | |||
| 7799be5210 | |||
| 82e778d8d7 | |||
| 175b85e48d | |||
| 40cb7c6ba4 | |||
| a154ae5bb3 | |||
| 26b06607c7 | |||
| 5391894326 | |||
| a9c25dcc48 | |||
| 6240d8dec2 | |||
| 0ae2055ed1 | |||
| eb98cf558d |
4
.github/release-drafter.yml
vendored
4
.github/release-drafter.yml
vendored
@ -9,12 +9,12 @@ categories:
|
||||
- 'bug'
|
||||
|
||||
- title: 'Maintenance'
|
||||
label:
|
||||
labels:
|
||||
- 'code quality'
|
||||
- 'documentation'
|
||||
|
||||
- title: 'Dependency updates'
|
||||
label:
|
||||
labels:
|
||||
- 'dependencies'
|
||||
|
||||
change-template: '- $TITLE #$NUMBER'
|
||||
|
||||
2
.github/workflows/audit.yml
vendored
2
.github/workflows/audit.yml
vendored
@ -19,7 +19,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
|
||||
- uses: actions/setup-node@v2.1.4
|
||||
- uses: actions/setup-node@v2.1.5
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
|
||||
9
.github/workflows/release-drafter.yml
vendored
9
.github/workflows/release-drafter.yml
vendored
@ -2,15 +2,18 @@ name: Release Drafter
|
||||
|
||||
on:
|
||||
push:
|
||||
# branches to consider in the event; optional, defaults to all
|
||||
branches:
|
||||
- master
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
update_release_draft:
|
||||
name: Update Release Draft
|
||||
runs-on: ubuntu-latest
|
||||
if: >
|
||||
github.repository_owner == 's4u'
|
||||
&& !startsWith(github.event.head_commit.message , '[maven-release-plugin]')
|
||||
|
||||
steps:
|
||||
- uses: release-drafter/release-drafter@v5.12.1
|
||||
- uses: release-drafter/release-drafter@v5.14.0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -19,7 +19,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v2.3.4
|
||||
|
||||
- uses: actions/setup-node@v2.1.4
|
||||
- uses: actions/setup-node@v2.1.5
|
||||
with:
|
||||
node-version: '12.x'
|
||||
|
||||
|
||||
38
README.md
38
README.md
@ -28,23 +28,35 @@ See [action.yml](action.yml)
|
||||
## default ```settings.xml```
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
```
|
||||
|
||||
## ```settings.xml``` with servers section
|
||||
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
servers: '[{"id": "serverId", "username": "username", "password": "password"}]'
|
||||
```
|
||||
|
||||
All `server` attributes may be specified:
|
||||
* `id` _(required)_
|
||||
* `username`
|
||||
* `password`
|
||||
* `privateKey`
|
||||
* `passphrase`
|
||||
* `filePermissions`
|
||||
* `directoryPermissions`
|
||||
* `configuration`
|
||||
|
||||
Please refer to the [servers](http://maven.apache.org/settings.html#Servers) documentation for more information.
|
||||
|
||||
## ```settings.xml``` with servers section and additional configuration
|
||||
|
||||
``` yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
servers: |
|
||||
[{
|
||||
@ -78,7 +90,7 @@ result will be:
|
||||
## ```settings.xml``` with mirrors section
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
mirrors: '[{"id": "mirrorId", "name": "mirrorName", "mirrorOf": "mirrorOf", "url": "mirrorUrl"}]'
|
||||
```
|
||||
@ -86,7 +98,7 @@ steps:
|
||||
## ```settings.xml``` with properties
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
properties: '[{"propertyName1": "propertyValue1"}, {"propertyName2": "propertyValue2"}]'
|
||||
```
|
||||
@ -95,7 +107,7 @@ steps:
|
||||
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
sonatypeSnapshots: true
|
||||
```
|
||||
@ -104,7 +116,7 @@ steps:
|
||||
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
apacheSnapshots: true
|
||||
```
|
||||
@ -112,7 +124,7 @@ steps:
|
||||
## Do not override existing ```settings.xml```, from version **2.0** file is override by default :
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
override: false
|
||||
```
|
||||
@ -120,7 +132,7 @@ steps:
|
||||
## Do not add github to server in ```settings.xml```, by default is added:
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
githubServer: false
|
||||
```
|
||||
@ -129,7 +141,7 @@ steps:
|
||||
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
oracleServers: '[{"id": "serverId", "username": "username", "password": "password"}]'
|
||||
```
|
||||
@ -137,7 +149,7 @@ steps:
|
||||
## ```settings.xml``` with [Oracle Maven Repository](https://docs.oracle.com/middleware/1213/core/MAVEN/config_maven_repo.htm#MAVEN9017)
|
||||
```yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
oracleRepo: true
|
||||
```
|
||||
@ -148,7 +160,7 @@ It is also possible pass in Github Secrets e.g.
|
||||
|
||||
``` yml
|
||||
steps:
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
with:
|
||||
servers: |
|
||||
[{
|
||||
@ -178,7 +190,7 @@ steps:
|
||||
with:
|
||||
java-version: 8
|
||||
|
||||
- uses: s4u/maven-settings-action@v2.3.0
|
||||
- uses: s4u/maven-settings-action@v2.4.0
|
||||
|
||||
- run: mvn verify
|
||||
```
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
name: 'maven-setings-action'
|
||||
name: 'maven-settings-action'
|
||||
description: 'Prepare maven settings.xml'
|
||||
|
||||
branding:
|
||||
@ -7,7 +7,7 @@ branding:
|
||||
|
||||
inputs:
|
||||
servers:
|
||||
description: 'servers definition in joson array, eg: [{"id": "serverId", "username": "username", "password": "password"}]'
|
||||
description: 'servers definition in json array, eg: [{"id": "serverId", "username": "username", "password": "password"}]'
|
||||
required: false
|
||||
mirrors:
|
||||
description: 'mirrors definition in json array, eg: [{"id": "id", "name": "name", "mirrorOf": "mirrorOf", "url": "url"}]'
|
||||
@ -32,7 +32,7 @@ inputs:
|
||||
default: "true"
|
||||
required: false
|
||||
oracleServers:
|
||||
description: 'servers definition in joson array, eg: [{"id": "serverId", "username": "username", "password": "password"}] for Oracle repository'
|
||||
description: 'servers definition in json array, eg: [{"id": "serverId", "username": "username", "password": "password"}] for Oracle repository'
|
||||
required: false
|
||||
oracleRepo:
|
||||
description: 'add Oracle Maven Repository'
|
||||
|
||||
@ -63,11 +63,11 @@ afterAll(() => {
|
||||
|
||||
test('run with all feature', () => {
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "serverId", "username": "sUsername", "password": "sPassword", "configuration": {"props1": "value1"}}]';
|
||||
process.env['INPUT_ORACLESERVERS'] = '[{"id": "oServerId", "username": "oUsername", "password": "oPassword"}]';
|
||||
process.env['INPUT_GITHUBSERVER'] = true;
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "serverId", "username": "sUsername", "password": "sPassword", "configuration": {"props1": "value1"}}]';
|
||||
process.env['INPUT_ORACLESERVERS'] = '[{"id": "oServerId", "username": "oUsername", "password": "oPassword"}]';
|
||||
process.env['INPUT_GITHUBSERVER'] = true;
|
||||
|
||||
process.env['INPUT_MIRRORS'] = '[{"id": "mirrorId", "name": "mirror Name", "mirrorOf": "mirror Off *", "url": "mirror url"}]';
|
||||
process.env['INPUT_MIRRORS'] = '[{"id": "mirrorId", "name": "mirror Name", "mirrorOf": "mirror Off *", "url": "mirror url"}]';
|
||||
process.env['INPUT_PROPERTIES'] = '[{"prop1": "value1"}, {"prop2": "value2"}]'
|
||||
|
||||
process.env['INPUT_APACHESNAPSHOTS'] = true;
|
||||
@ -80,7 +80,7 @@ test('run with all feature', () => {
|
||||
expect(settingsStatus.isFile()).toBeTruthy();
|
||||
expect(settingsStatus.size).toBeGreaterThan(0);
|
||||
|
||||
const settingsBody = fs.readFileSync(settingsPath).toString().replace(/^ $/mg, '');
|
||||
const settingsBody = fs.readFileSync(settingsPath).toString().replace(/^\s*$(?:\r\n?|\n)/gm, '');
|
||||
expect(settingsBody).toBe(`<settings>
|
||||
<interactiveMode>false</interactiveMode>
|
||||
<profiles>
|
||||
@ -214,7 +214,6 @@ test('run with all feature', () => {
|
||||
<id>github</id>
|
||||
<username>\${env.GITHUB_ACTOR}</username>
|
||||
<password>\${env.GITHUB_TOKEN}</password>
|
||||
|
||||
</server></servers>
|
||||
<mirrors>
|
||||
<mirror>
|
||||
|
||||
2
node_modules/.package-lock.json
generated
vendored
2
node_modules/.package-lock.json
generated
vendored
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "maven-settings-action",
|
||||
"version": "2.3.0",
|
||||
"version": "2.4.0",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
|
||||
1080
package-lock.json
generated
1080
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "maven-settings-action",
|
||||
"version": "2.3.0",
|
||||
"version": "2.4.0",
|
||||
"description": "Prepare maven settings",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
@ -28,7 +28,7 @@
|
||||
"xmldom": "^0.4.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^7.16.0",
|
||||
"eslint": "^7.20.0",
|
||||
"jest": "^26.6.3"
|
||||
}
|
||||
}
|
||||
|
||||
41
settings.js
41
settings.js
@ -54,7 +54,7 @@ function jsonToXml(templateXml, xmlTag, json) {
|
||||
for (const key in json) {
|
||||
const keyXml = templateXml.createElement(key);
|
||||
const value = json[key];
|
||||
if ( value instanceof Object) {
|
||||
if (value instanceof Object) {
|
||||
jsonToXml(templateXml, keyXml, value);
|
||||
} else {
|
||||
keyXml.textContent = value;
|
||||
@ -63,28 +63,32 @@ function jsonToXml(templateXml, xmlTag, json) {
|
||||
}
|
||||
}
|
||||
|
||||
function fillServer(templateXml, templateName, id, username, password, configurations) {
|
||||
function fillServer(templateXml, templateName, id, username, password, privateKey, passphrase, filePermissions, directoryPermissions, configurations) {
|
||||
|
||||
if (!id || ((!username || !password) && !configurations) ) {
|
||||
core.setFailed(templateName + ' must contain id, (username and password) or configuration');
|
||||
if (!id || (!username && !configurations)) {
|
||||
core.setFailed(templateName + ' must contain id, and username or configuration');
|
||||
return;
|
||||
}
|
||||
|
||||
const serverXml = getTemplate(templateName + '.xml')
|
||||
serverXml.getElementsByTagName('id')[0].textContent = id;
|
||||
|
||||
const usernameTag = serverXml.getElementsByTagName('username')[0];
|
||||
if (username) {
|
||||
usernameTag.textContent = username;
|
||||
} else {
|
||||
serverXml.documentElement.removeChild(usernameTag);
|
||||
}
|
||||
|
||||
const passwordTag = serverXml.getElementsByTagName('password')[0];
|
||||
if (password) {
|
||||
passwordTag.textContent = password;
|
||||
} else {
|
||||
serverXml.documentElement.removeChild(passwordTag);
|
||||
const serverTags = {
|
||||
'username': username,
|
||||
'password': password,
|
||||
'privateKey': privateKey,
|
||||
'passphrase': passphrase,
|
||||
'filePermissions': filePermissions,
|
||||
'directoryPermissions': directoryPermissions
|
||||
};
|
||||
for (const tag in serverTags) {
|
||||
const serverTag = serverXml.getElementsByTagName(tag)[0];
|
||||
const tagValue = serverTags[tag];
|
||||
if (tagValue) {
|
||||
serverTag.textContent = tagValue;
|
||||
} else {
|
||||
serverXml.documentElement.removeChild(serverTag);
|
||||
}
|
||||
}
|
||||
|
||||
const configurationTag = serverXml.getElementsByTagName('configuration')[0];
|
||||
@ -109,7 +113,10 @@ function fillServers(template, templateName) {
|
||||
}
|
||||
|
||||
JSON.parse(servers).forEach((server) =>
|
||||
fillServer(template, templateName, server.id, server.username, server.password, server.configuration));
|
||||
fillServer(template, templateName, server.id, server.username,
|
||||
server.password, server.privateKey, server.passphrase,
|
||||
server.filePermissions, server.directoryPermissions,
|
||||
server.configuration));
|
||||
}
|
||||
|
||||
function fillMirror(template, id, name, mirrorOf, url) {
|
||||
|
||||
143
settings.test.js
143
settings.test.js
@ -38,6 +38,14 @@ const settingsPath = path.join(testHomePath, '.m2', 'settings.xml');
|
||||
|
||||
var consoleOutput = [];
|
||||
|
||||
function stringAsXml(str) {
|
||||
return new DOMParser().parseFromString(str, 'text/xml');
|
||||
}
|
||||
|
||||
function xmlAsString(xml) {
|
||||
return new XMLSerializer().serializeToString(xml).replace(/^\s*$(?:\r\n?|\n)/gm, '');
|
||||
}
|
||||
|
||||
beforeAll(() => {
|
||||
if (!fs.existsSync(testHomePath)) {
|
||||
fs.mkdirSync(testHomePath);
|
||||
@ -51,7 +59,7 @@ beforeAll(() => {
|
||||
});
|
||||
|
||||
beforeEach(() => {
|
||||
xmlTestProfile = new DOMParser().parseFromString(`<settings>
|
||||
xmlTestProfile = stringAsXml(`<settings>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>_properties_</id>
|
||||
@ -119,7 +127,7 @@ test('xml should be write', () => {
|
||||
|
||||
test('fillServers do nothing if no params', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
@ -130,54 +138,46 @@ test('fillServers do nothing if no params', () => {
|
||||
|
||||
test('fillServers one server', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "username": "username1", "password":"password1"}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml).replace(/^ $/mg, '');
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
<username>username1</username>
|
||||
<password>password1</password>
|
||||
|
||||
</server></servers>`);
|
||||
|
||||
});
|
||||
|
||||
test('fillServers with username and configuration', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "username": "username", "configuration": {"prop1": "prop1Value", "prop2": "prop2Value"}}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml).replace(/^ $/mg, '')
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
<username>username</username>
|
||||
|
||||
<configuration><prop1>prop1Value</prop1><prop2>prop2Value</prop2></configuration>
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fillServers with username, password and configuration', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "username": "username", "password": "password", "configuration": {"prop1": "prop1Value", "prop2": "prop2Value"}}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml).replace(/^ $/mg, '')
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
<username>username</username>
|
||||
@ -186,73 +186,115 @@ test('fillServers with username, password and configuration', () => {
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fillServers with username, privateKey', () => {
|
||||
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "username": "username", "privateKey": "${user.home}/.ssh/id_rsa"}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
<username>username</username>
|
||||
<privateKey>\${user.home}/.ssh/id_rsa</privateKey>
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fillServers with username, privateKey, and passphrase', () => {
|
||||
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "username": "username", "privateKey": "${user.home}/.ssh/id_rsa", "passphrase": "secret"}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
<username>username</username>
|
||||
<privateKey>\${user.home}/.ssh/id_rsa</privateKey>
|
||||
<passphrase>secret</passphrase>
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fillServers with all attributes', () => {
|
||||
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "server001", "username": "my_login", "password": "my_password", "privateKey": "${user.home}/.ssh/id_dsa", "passphrase": "some_passphrase", "filePermissions": "664", "directoryPermissions": "775", "configuration": {"prop1": "prop1Value", "prop2": "prop2Value"} }]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>server001</id>
|
||||
<username>my_login</username>
|
||||
<password>my_password</password>
|
||||
<privateKey>\${user.home}/.ssh/id_dsa</privateKey>
|
||||
<passphrase>some_passphrase</passphrase>
|
||||
<filePermissions>664</filePermissions>
|
||||
<directoryPermissions>775</directoryPermissions>
|
||||
<configuration><prop1>prop1Value</prop1><prop2>prop2Value</prop2></configuration>
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fillServers with configuration', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "configuration": {"prop1": "prop1Value", "prop2": "prop2Value"}}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml).replace(/^ $/mg, '')
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
|
||||
|
||||
<configuration><prop1>prop1Value</prop1><prop2>prop2Value</prop2></configuration>
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fillServers with configuration subLevel', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "configuration": {"prop1": {"prop11": "value11", "prop12": "value12"}, "prop2": "value2"}}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml).replace(/^ $/mg, '')
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
|
||||
|
||||
<configuration><prop1><prop11>value11</prop11><prop12>value12</prop12></prop1><prop2>value2</prop2></configuration>
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fillServers two servers', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"id": "id1", "username": "username1", "password":"password1"},\
|
||||
{"id": "id2", "username": "username2", "password":"password2"}]';
|
||||
|
||||
settings.fillServers(xml, 'servers');
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml).replace(/^ $/mg, '');
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
<username>username1</username>
|
||||
<password>password1</password>
|
||||
|
||||
</server>
|
||||
<server>
|
||||
<id>id2</id>
|
||||
<username>username2</username>
|
||||
<password>password2</password>
|
||||
|
||||
</server></servers>`);
|
||||
});
|
||||
|
||||
test('fill servers incorrect fields', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_SERVERS'] = '[{"idx": "id1"}]';
|
||||
|
||||
@ -263,22 +305,20 @@ test('fill servers incorrect fields', () => {
|
||||
expect(xmlStr).toBe('<servers/>');
|
||||
expect(consoleOutput).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.stringMatching(/::error::servers must contain id, \(username and password\) or configuration/)
|
||||
expect.stringMatching(/::error::servers must contain id, and username or configuration/)
|
||||
])
|
||||
);
|
||||
});
|
||||
|
||||
test('fill oracleServers', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_ORACLESERVERS'] = '[{"id": "id1", "username": "username1", "password":"password1"}]';
|
||||
|
||||
settings.fillServers(xml, 'oracleServers');
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml);
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>id1</id>
|
||||
<username>username1</username>
|
||||
@ -305,27 +345,24 @@ test('fill oracleServers', () => {
|
||||
|
||||
test('fillServers github', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<servers/>");
|
||||
const xml = stringAsXml("<servers/>");
|
||||
|
||||
process.env['INPUT_GITHUBSERVER'] = 'true';
|
||||
|
||||
settings.fillServerForGithub(xml);
|
||||
|
||||
const xmlStr = new XMLSerializer().serializeToString(xml).replace(/^ $/mg, '');
|
||||
|
||||
expect(xmlStr).toBe(`<servers>
|
||||
expect(xmlAsString(xml)).toBe(`<servers>
|
||||
<server>
|
||||
<id>github</id>
|
||||
<username>\${env.GITHUB_ACTOR}</username>
|
||||
<password>\${env.GITHUB_TOKEN}</password>
|
||||
|
||||
</server></servers>`);
|
||||
expect(consoleOutput).toEqual([]);
|
||||
});
|
||||
|
||||
test('fillMirrors do nothing if no params', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<mirrors/>");
|
||||
const xml = stringAsXml("<mirrors/>");
|
||||
|
||||
settings.fillMirrors(xml);
|
||||
|
||||
@ -337,7 +374,7 @@ test('fillMirrors do nothing if no params', () => {
|
||||
|
||||
test('fillMirrors one mirror', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<mirrors/>");
|
||||
const xml = stringAsXml("<mirrors/>");
|
||||
|
||||
process.env['INPUT_MIRRORS'] = '[{"id": "id1", "name": "name", "mirrorOf":"mirrorOf", "url":"url"}]';
|
||||
|
||||
@ -357,7 +394,7 @@ test('fillMirrors one mirror', () => {
|
||||
|
||||
test('fillMirrors two mirrors', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<mirrors/>");
|
||||
const xml = stringAsXml("<mirrors/>");
|
||||
|
||||
process.env['INPUT_MIRRORS'] = '[{"id": "id1", "name": "name1", "mirrorOf":"mirrorOf1", "url":"url1"},{"id": "id2", "name": "name2", "mirrorOf":"mirrorOf2", "url":"url2"}]';
|
||||
|
||||
@ -383,7 +420,7 @@ test('fillMirrors two mirrors', () => {
|
||||
|
||||
test('fillMirrors incorrect fields', () => {
|
||||
|
||||
const xml = new DOMParser().parseFromString("<mirrors/>");
|
||||
const xml = stringAsXml("<mirrors/>");
|
||||
|
||||
process.env['INPUT_MIRRORS'] = '[{"idx": "id1"}]';
|
||||
|
||||
@ -403,7 +440,7 @@ test('addApacheSnapshots', () => {
|
||||
|
||||
process.env['INPUT_APACHESNAPSHOTS'] = "true";
|
||||
|
||||
const xml = new DOMParser().parseFromString('<profiles/>');
|
||||
const xml = stringAsXml('<profiles/>');
|
||||
|
||||
settings.addApacheSnapshots(xml);
|
||||
|
||||
@ -445,7 +482,7 @@ test('addSonatypeSnapshots', () => {
|
||||
|
||||
process.env['INPUT_SONATYPESNAPSHOTS'] = "true";
|
||||
|
||||
const xml = new DOMParser().parseFromString('<profiles/>');
|
||||
const xml = stringAsXml('<profiles/>');
|
||||
|
||||
settings.addSonatypeSnapshots(xml);
|
||||
|
||||
@ -487,7 +524,7 @@ test('addOracleRepo', () => {
|
||||
|
||||
process.env['INPUT_ORACLEREPO'] = "true";
|
||||
|
||||
const xml = new DOMParser().parseFromString('<profiles/>');
|
||||
const xml = stringAsXml('<profiles/>');
|
||||
|
||||
settings.addOracleRepo(xml);
|
||||
|
||||
@ -529,7 +566,7 @@ test('fillProperties', () => {
|
||||
|
||||
process.env['INPUT_PROPERTIES'] = '[{"propertyName1": "propertyValue1"}, {"propertyName2": "propertyValue2"}]';
|
||||
|
||||
const xml = new DOMParser().parseFromString('<profiles/>');
|
||||
const xml = stringAsXml('<profiles/>');
|
||||
|
||||
settings.fillProperties(xml);
|
||||
|
||||
|
||||
@ -3,6 +3,10 @@
|
||||
<id />
|
||||
<username />
|
||||
<password />
|
||||
<privateKey />
|
||||
<passphrase />
|
||||
<filePermissions />
|
||||
<directoryPermissions />
|
||||
<configuration>
|
||||
<basicAuthScope>
|
||||
<host>ANY</host>
|
||||
|
||||
@ -3,5 +3,9 @@
|
||||
<id />
|
||||
<username />
|
||||
<password />
|
||||
<privateKey />
|
||||
<passphrase />
|
||||
<filePermissions />
|
||||
<directoryPermissions />
|
||||
<configuration />
|
||||
</server>
|
||||
|
||||
Reference in New Issue
Block a user