diff options
Diffstat (limited to 'tests/src/test/resources')
184 files changed, 10862 insertions, 0 deletions
diff --git a/tests/src/test/resources/analysis/BatchTest/one-issue-per-line.xml b/tests/src/test/resources/analysis/BatchTest/one-issue-per-line.xml new file mode 100644 index 00000000000..7bb4ed5593a --- /dev/null +++ b/tests/src/test/resources/analysis/BatchTest/one-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/IssueJsonReportTest/multiline.xml b/tests/src/test/resources/analysis/IssueJsonReportTest/multiline.xml new file mode 100644 index 00000000000..778866e91c2 --- /dev/null +++ b/tests/src/test/resources/analysis/IssueJsonReportTest/multiline.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>multiline</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>MultilineIssue</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/analysis/IssueJsonReportTest/no-server-analysis.json b/tests/src/test/resources/analysis/IssueJsonReportTest/no-server-analysis.json new file mode 100644 index 00000000000..4e1b18df6ee --- /dev/null +++ b/tests/src/test/resources/analysis/IssueJsonReportTest/no-server-analysis.json @@ -0,0 +1,212 @@ +{ + "components": [ + { + "key": "sample" + }, + { + "key": "sample:src/main/xoo/sample/Sample.xoo", + "moduleKey": "sample", + "path": "src/main/xoo/sample/Sample.xoo", + "status": "ADDED" + }, + { + "key": "sample:src/main/xoo/sample", + "moduleKey": "sample", + "path": "src/main/xoo/sample" + } + ], + "issues": [ + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 2, + "endOffset": 0, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 6, + "endOffset": 14, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 1, + "endOffset": 15, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 5, + "endOffset": 23, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 8, + "endOffset": 1, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 9, + "endOffset": 28, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 7, + "endOffset": 2, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 4, + "endOffset": 1, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 11, + "endOffset": 2, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 3, + "endOffset": 21, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 13, + "endOffset": 0, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 13, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 12, + "endOffset": 1, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 10, + "endOffset": 17, + "isNew": true, + "key": "<ISSUE_KEY>", + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "startOffset": 0, + "status": "OPEN" + } + ], + "rules": [ + { + "key": "xoo:OneIssuePerLine", + "name": "One Issue Per Line", + "repository": "xoo", + "rule": "OneIssuePerLine" + } + ], + "users": [], + "version": "<SONAR_VERSION>" +} diff --git a/tests/src/test/resources/analysis/IssueJsonReportTest/one-issue-per-line.xml b/tests/src/test/resources/analysis/IssueJsonReportTest/one-issue-per-line.xml new file mode 100644 index 00000000000..7bb4ed5593a --- /dev/null +++ b/tests/src/test/resources/analysis/IssueJsonReportTest/one-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-root-module.json b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-root-module.json new file mode 100644 index 00000000000..ad3c0218cdb --- /dev/null +++ b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-root-module.json @@ -0,0 +1,880 @@ +{ + "components": [ + { + "key": "com.sonarsource.it.samples:multi-modules-sample" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a", + "path": "module_a" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1", + "path": "module_a1" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2", + "path": "module_a2" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_b", + "path": "module_b" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1", + "path": "module_b1" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2", + "path": "module_b2" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1", + "path": "src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "status": "SAME" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2", + "path": "src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "status": "SAME" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1", + "path": "src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "status": "SAME" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2", + "path": "src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "status": "SAME" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1", + "path": "src/main/xoo/com/sonar/it/samples/modules/a1" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2", + "path": "src/main/xoo/com/sonar/it/samples/modules/a2" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1", + "path": "src/main/xoo/com/sonar/it/samples/modules/b1" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2", + "path": "src/main/xoo/com/sonar/it/samples/modules/b2" + } + ], + "issues": [ + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 9, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 9, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 10, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 10, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 11, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 11, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 12, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 12, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 13, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 13, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 13, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 14, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 14, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 14, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 15, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 15, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 15, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 16, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 16, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 16, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 1, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 2, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 3, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 3, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 4, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 4, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 5, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 5, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 7, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 7, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 6, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 6, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 8, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 8, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 1, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 2, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 3, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 3, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 4, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 4, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 5, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 5, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 6, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 6, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 7, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 7, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 8, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 8, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 9, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 9, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 10, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 10, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 11, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 11, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 12, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 12, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 13, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 13, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 13, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 14, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 14, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 14, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 15, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 15, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 15, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 16, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 16, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 16, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 17, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 17, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 17, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 18, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 18, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 18, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 19, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 19, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 19, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 20, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 20, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 20, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a2:src/main/xoo/com/sonar/it/samples/modules/a2/HelloA2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 21, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 21, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 21, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 1, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 2, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 3, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 3, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 4, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 4, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 5, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 5, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 6, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 6, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 7, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 7, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 8, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 8, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 9, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 9, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 10, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 10, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 11, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 11, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b1:src/main/xoo/com/sonar/it/samples/modules/b1/HelloB1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 12, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 12, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 1, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 2, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 3, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 3, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 4, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 4, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 5, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 5, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 6, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 6, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 7, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 7, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 8, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 8, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 9, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 9, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 10, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 10, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 12, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 12, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_b:module_b2:src/main/xoo/com/sonar/it/samples/modules/b2/HelloB2.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 11, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 11, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "status": "OPEN" + } + ], + "rules": [ + { + "key": "xoo:OneIssuePerLine", + "name": "One Issue Per Line", + "repository": "xoo", + "rule": "OneIssuePerLine" + } + ], + "users": [], + "version": "<SONAR_VERSION>" +} diff --git a/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-single-module-branch.json b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-single-module-branch.json new file mode 100644 index 00000000000..aa066bbbf2f --- /dev/null +++ b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-single-module-branch.json @@ -0,0 +1,255 @@ +{ + "components": [ + { + "key": "sample:mybranch" + }, + { + "key": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "moduleKey": "sample:mybranch", + "path": "src/main/xoo/sample/Sample.xoo", + "status": "CHANGED" + }, + { + "key": "sample:mybranch:src/main/xoo/sample", + "moduleKey": "sample:mybranch", + "path": "src/main/xoo/sample" + } + ], + "issues": [ + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 1, + "endOffset": 15, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 1, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 2, + "endOffset": 0, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 2, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 3, + "endOffset": 21, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 3, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 4, + "endOffset": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 4, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 5, + "endOffset": 23, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 5, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 6, + "endOffset": 14, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 6, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 8, + "endOffset": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 8, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 9, + "endOffset": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 9, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 10, + "endOffset": 28, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 10, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 12, + "endOffset": 17, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 12, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 13, + "endOffset": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 13, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 13, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 14, + "endOffset": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 14, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 14, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 15, + "endOffset": 0, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 15, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 15, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 11, + "endOffset": 28, + "isNew": true, + "key": "<ISSUE_KEY>", + "line": 11, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:mybranch:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 7, + "endOffset": 28, + "isNew": true, + "key": "<ISSUE_KEY>", + "line": 7, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "startOffset": 0, + "status": "OPEN" + } + ], + "rules": [ + { + "key": "xoo:OneIssuePerLine", + "name": "One Issue Per Line", + "repository": "xoo", + "rule": "OneIssuePerLine" + } + ], + "users": [], + "version": "<SONAR_VERSION>" +} diff --git a/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-single-module.json b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-single-module.json new file mode 100644 index 00000000000..6c3aab91f02 --- /dev/null +++ b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-single-module.json @@ -0,0 +1,255 @@ +{ + "components": [ + { + "key": "sample" + }, + { + "key": "sample:src/main/xoo/sample/Sample.xoo", + "moduleKey": "sample", + "path": "src/main/xoo/sample/Sample.xoo", + "status": "CHANGED" + }, + { + "key": "sample:src/main/xoo/sample", + "moduleKey": "sample", + "path": "src/main/xoo/sample" + } + ], + "issues": [ + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 11, + "endOffset": 28, + "isNew": true, + "key": "<ISSUE_KEY>", + "line": 11, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-02T00:00:00+0200", + "endLine": 7, + "endOffset": 28, + "isNew": true, + "key": "<ISSUE_KEY>", + "line": 7, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 1, + "endOffset": 15, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 1, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 2, + "endOffset": 0, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 2, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 3, + "endOffset": 21, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 3, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 4, + "endOffset": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 4, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 5, + "endOffset": 23, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 5, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 6, + "endOffset": 14, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 6, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 8, + "endOffset": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 8, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 9, + "endOffset": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 9, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 10, + "endOffset": 28, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 10, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 12, + "endOffset": 17, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 12, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 13, + "endOffset": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 13, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 13, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 14, + "endOffset": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 14, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 14, + "startOffset": 0, + "status": "OPEN" + }, + { + "component": "sample:src/main/xoo/sample/Sample.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 15, + "endOffset": 0, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 15, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 15, + "startOffset": 0, + "status": "OPEN" + } + ], + "rules": [ + { + "key": "xoo:OneIssuePerLine", + "name": "One Issue Per Line", + "repository": "xoo", + "rule": "OneIssuePerLine" + } + ], + "users": [], + "version": "<SONAR_VERSION>" +} diff --git a/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-sub-module.json b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-sub-module.json new file mode 100644 index 00000000000..84a68c4d5a4 --- /dev/null +++ b/tests/src/test/resources/analysis/IssueJsonReportTest/report-on-sub-module.json @@ -0,0 +1,238 @@ +{ + "components": [ + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1", + "path": "src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "status": "SAME" + }, + { + "key": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1", + "moduleKey": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1", + "path": "src/main/xoo/com/sonar/it/samples/modules/a1" + } + ], + "issues": [ + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 1, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 1, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 1, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 2, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 2, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 2, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 3, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 3, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 3, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 4, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 4, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 4, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 5, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 5, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 5, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 6, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 6, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 6, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 7, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 7, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 7, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 8, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 8, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 8, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 9, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 9, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 9, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 10, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 10, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 10, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 11, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 11, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 11, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 12, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 12, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 12, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 13, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 13, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 13, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 14, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 14, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 14, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 15, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 15, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 15, + "status": "OPEN" + }, + { + "component": "com.sonarsource.it.samples:multi-modules-sample:module_a:module_a1:src/main/xoo/com/sonar/it/samples/modules/a1/HelloA1.xoo", + "creationDate": "2013-05-01T00:00:00+0200", + "endLine": 16, + "isNew": false, + "key": "<ISSUE_KEY>", + "line": 16, + "message": "This issue is generated on each line", + "rule": "xoo:OneIssuePerLine", + "severity": "MAJOR", + "startLine": 16, + "status": "OPEN" + } + ], + "rules": [ + { + "key": "xoo:OneIssuePerLine", + "name": "One Issue Per Line", + "repository": "xoo", + "rule": "OneIssuePerLine" + } + ], + "users": [], + "version": "<SONAR_VERSION>" +} diff --git a/tests/src/test/resources/analysis/IssuesModeTest/empty.xml b/tests/src/test/resources/analysis/IssuesModeTest/empty.xml new file mode 100644 index 00000000000..8bab61d6c85 --- /dev/null +++ b/tests/src/test/resources/analysis/IssuesModeTest/empty.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>empty</name> + <language>xoo</language> + <rules> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/IssuesModeTest/one-issue-per-line-empty.xml b/tests/src/test/resources/analysis/IssuesModeTest/one-issue-per-line-empty.xml new file mode 100644 index 00000000000..0ba34f10dbd --- /dev/null +++ b/tests/src/test/resources/analysis/IssuesModeTest/one-issue-per-line-empty.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + </rules> +</profile> diff --git a/tests/src/test/resources/analysis/IssuesModeTest/one-issue-per-line.xml b/tests/src/test/resources/analysis/IssuesModeTest/one-issue-per-line.xml new file mode 100644 index 00000000000..7bb4ed5593a --- /dev/null +++ b/tests/src/test/resources/analysis/IssuesModeTest/one-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/IssuesModeTest/with-many-rules.xml b/tests/src/test/resources/analysis/IssuesModeTest/with-many-rules.xml new file mode 100644 index 00000000000..f3d0baf0616 --- /dev/null +++ b/tests/src/test/resources/analysis/IssuesModeTest/with-many-rules.xml @@ -0,0 +1,32 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/MultiLanguageTest/one-issue-per-line-xoo2.xml b/tests/src/test/resources/analysis/MultiLanguageTest/one-issue-per-line-xoo2.xml new file mode 100644 index 00000000000..67215f91a52 --- /dev/null +++ b/tests/src/test/resources/analysis/MultiLanguageTest/one-issue-per-line-xoo2.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line-xoo2</name> + <language>xoo2</language> + <rules> + <rule> + <repositoryKey>xoo2</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/analysis/MultiLanguageTest/one-issue-per-line.xml b/tests/src/test/resources/analysis/MultiLanguageTest/one-issue-per-line.xml new file mode 100644 index 00000000000..7bb4ed5593a --- /dev/null +++ b/tests/src/test/resources/analysis/MultiLanguageTest/one-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/SSLTest/README b/tests/src/test/resources/analysis/SSLTest/README new file mode 100644 index 00000000000..fb535a907c6 --- /dev/null +++ b/tests/src/test/resources/analysis/SSLTest/README @@ -0,0 +1,184 @@ +$ openssl req -config ./openssl.cnf -newkey rsa:2048 -nodes -keyform PEM -keyout ca.key -x509 -days 3650 -extensions certauth -outform PEM -out ca.cer +Generating a 2048 bit RSA private key +..............................................+++ +........................................................................................................+++ +writing new private key to 'ca.key' +----- +You are about to be asked to enter information that will be incorporated +into your certificate request. +What you are about to enter is what is called a Distinguished Name or a DN. +There are quite a few fields but you can leave some blank +For some fields there will be a default value, +If you enter '.', the field will be left blank. +----- +Country [FR]: +Locality [Poitiers]: +Organization [SonarSource]: +Common Name []:CA for SonarQube ITs + +$ openssl genrsa -out server.key 2048 +Generating RSA private key, 2048 bit long modulus +........................+++ +............................+++ +e is 65537 (0x10001) + +$ openssl req -config ./openssl.cnf -new -key server.key -out server.req +You are about to be asked to enter information that will be incorporated +into your certificate request. +What you are about to enter is what is called a Distinguished Name or a DN. +There are quite a few fields but you can leave some blank +For some fields there will be a default value, +If you enter '.', the field will be left blank. +----- +Country [FR]: +Locality [Poitiers]: +Organization [SonarSource]: +Common Name []:localhost + +$ openssl x509 -req -in server.req -CA ca.cer -CAkey ca.key -set_serial 100 -extfile openssl.cnf -extensions server -days 3650 -outform PEM -out server.cer +Signature ok +subject=/C=FR/L=Poitiers/O=SonarSource/CN=localhost +Getting CA Private Key + +$ openssl genrsa -out client.key 2048 +Generating RSA private key, 2048 bit long modulus +...................................+++ +.....................................................+++ +e is 65537 (0x10001) + +$ openssl req -config ./openssl.cnf -new -key client.key -out client.req +You are about to be asked to enter information that will be incorporated +into your certificate request. +What you are about to enter is what is called a Distinguished Name or a DN. +There are quite a few fields but you can leave some blank +For some fields there will be a default value, +If you enter '.', the field will be left blank. +----- +Country [FR]: +Locality [Poitiers]: +Organization [SonarSource]: +Common Name []:Julien Henry + +$ openssl x509 -req -in client.req -CA ca.cer -CAkey ca.key -set_serial 101 -extfile openssl.cnf -extensions client -days 3650 -outform PEM -out client.cer +Signature ok +subject=/C=FR/L=Poitiers/O=SonarSource/CN=Julien Henry +Getting CA Private Key + +$ openssl pkcs12 -export -inkey client.key -in client.cer -out client.p12 +Enter Export Password: clientp12pwd +Verifying - Enter Export Password: clientp12pwd + +$ openssl pkcs12 -inkey server.key -in server.cer -export -out server.p12 +Enter Export Password: serverp12pwd +Verifying - Enter Export Password: serverp12pwd + +$ keytool -importkeystore -srckeystore server.p12 -srcstoretype PKCS12 -destkeystore serverkeystore.jks +Entrez le mot de passe du fichier de clés de destination : serverkeystorepwd +Ressaisissez le nouveau mot de passe : serverkeystorepwd +Entrez le mot de passe du fichier de clés source : serverp12pwd +L'entrée de l'alias 1 a été importée. +Commande d'import exécutée : 1 entrées importées, échec ou annulation de 0 entrées + +$ keytool -import -file ca.cer -keystore servertruststore.jks +Entrez le mot de passe du fichier de clés : servertruststorepwd +Ressaisissez le nouveau mot de passe : servertruststorepwd +Propriétaire : CN=Test CA, O=SonarSource, L=Poitiers, C=FR +Emetteur : CN=Test CA, O=SonarSource, L=Poitiers, C=FR +Numéro de série : dabbebc7bce2fc6a +Valide du : Wed Aug 31 14:42:15 CEST 2016 au : Sat Aug 29 14:42:15 CEST 2026 +Empreintes du certificat : + MD5: 69:36:AE:65:51:CD:F4:C3:83:77:DE:45:AE:49:01:1A + SHA1 : 77:92:45:84:18:FC:34:7A:2A:B0:EC:3D:22:48:15:1A:19:71:1D:B3 + SHA256 : 99:03:89:84:6E:E3:D3:B7:12:2D:70:7E:49:88:49:41:52:1C:89:3A:9B:C0:83:D1:C5:44:D4:93:FB:42:C8:07 + Nom de l'algorithme de signature : SHA1withRSA + Version : 3 + +Extensions : + +#1: ObjectId: 2.5.29.35 Criticality=false +AuthorityKeyIdentifier [ +KeyIdentifier [ +0000: 3A 61 C1 86 AD BE FC 15 82 B3 59 FF 00 28 5E F9 :a........Y..(^. +0010: B5 5A 87 04 .Z.. +] +[CN=Test CA, O=SonarSource, L=Poitiers, C=FR] +SerialNumber: [ dabbebc7 bce2fc6a] +] + +#2: ObjectId: 2.5.29.19 Criticality=false +BasicConstraints:[ + CA:true + PathLen:2147483647 +] + +#3: ObjectId: 2.5.29.31 Criticality=false +CRLDistributionPoints [ + [DistributionPoint: + [URIName: http://testca.local/ca.crl] +]] + +#4: ObjectId: 2.5.29.14 Criticality=false +SubjectKeyIdentifier [ +KeyIdentifier [ +0000: 3A 61 C1 86 AD BE FC 15 82 B3 59 FF 00 28 5E F9 :a........Y..(^. +0010: B5 5A 87 04 .Z.. +] +] + +Faire confiance à ce certificat ? [non] : oui +Certificat ajouté au fichier de clés + +$ keytool -import -file server.cer -keystore clienttruststore.jks +Entrez le mot de passe du fichier de clés : clienttruststorepwd +Ressaisissez le nouveau mot de passe : clienttruststorepwd +Propriétaire : CN=localhost, O=SonarSource, L=Poitiers, C=FR +Emetteur : CN=Test CA, O=SonarSource, L=Poitiers, C=FR +Numéro de série : 64 +Valide du : Wed Aug 31 14:45:30 CEST 2016 au : Thu Aug 31 14:45:30 CEST 2017 +Empreintes du certificat : + MD5: 40:52:F4:5E:67:C3:68:B6:00:7D:70:C0:1E:8E:75:2E + SHA1 : 83:3F:4F:AC:4E:E6:F4:06:14:01:E6:5B:F2:63:34:94:68:12:8C:3A + SHA256 : 7C:03:9A:CA:0D:B5:57:A5:66:56:75:09:23:45:9E:D5:CC:6C:72:14:0B:4B:9B:E8:29:3F:78:4C:9F:D6:77:E2 + Nom de l'algorithme de signature : SHA256withRSA + Version : 3 + +Extensions : + +#1: ObjectId: 2.5.29.19 Criticality=false +BasicConstraints:[ + CA:false + PathLen: undefined +] + +#2: ObjectId: 2.5.29.31 Criticality=false +CRLDistributionPoints [ + [DistributionPoint: + [URIName: http://testca.local/ca.crl] +]] + +#3: ObjectId: 2.5.29.37 Criticality=false +ExtendedKeyUsages [ + serverAuth +] + +#4: ObjectId: 2.5.29.15 Criticality=false +KeyUsage [ + DigitalSignature + Key_Encipherment + Data_Encipherment +] + +#5: ObjectId: 2.16.840.1.113730.1.1 Criticality=false +NetscapeCertType [ + SSL server +] + +Faire confiance à ce certificat ? [non] : oui +Certificat ajouté au fichier de clés + +$ keytool -importkeystore -srckeystore client.p12 -srcstoretype PKCS12 -destkeystore clientkeystore.jks +Entrez le mot de passe du fichier de clés de destination : clientp12pwd +Ressaisissez le nouveau mot de passe : clientp12pwd +Entrez le mot de passe du fichier de clés source : clientp12pwd +L'entrée de l'alias 1 a été importée. +Commande d'import exécutée : 1 entrées importées, échec ou annulation de 0 entrées diff --git a/tests/src/test/resources/analysis/SSLTest/clientkeystore.jks b/tests/src/test/resources/analysis/SSLTest/clientkeystore.jks Binary files differnew file mode 100644 index 00000000000..653f3c7f093 --- /dev/null +++ b/tests/src/test/resources/analysis/SSLTest/clientkeystore.jks diff --git a/tests/src/test/resources/analysis/SSLTest/clienttruststore.jks b/tests/src/test/resources/analysis/SSLTest/clienttruststore.jks Binary files differnew file mode 100644 index 00000000000..2529245e1c6 --- /dev/null +++ b/tests/src/test/resources/analysis/SSLTest/clienttruststore.jks diff --git a/tests/src/test/resources/analysis/SSLTest/openssl.cnf b/tests/src/test/resources/analysis/SSLTest/openssl.cnf new file mode 100644 index 00000000000..4a5148fd4d7 --- /dev/null +++ b/tests/src/test/resources/analysis/SSLTest/openssl.cnf @@ -0,0 +1,38 @@ +[ req ] +default_md = sha1 +distinguished_name = req_distinguished_name + +[ req_distinguished_name ] +countryName = Country +countryName_default = FR +countryName_min = 2 +countryName_max = 2 +localityName = Locality +localityName_default = Poitiers +organizationName = Organization +organizationName_default = SonarSource +commonName = Common Name +commonName_max = 64 + +[ certauth ] +subjectKeyIdentifier = hash +authorityKeyIdentifier = keyid:always,issuer:always +basicConstraints = CA:true +crlDistributionPoints = @crl + +[ server ] +basicConstraints = CA:FALSE +keyUsage = digitalSignature, keyEncipherment, dataEncipherment +extendedKeyUsage = serverAuth +nsCertType = server +crlDistributionPoints = @crl + +[ client ] +basicConstraints = CA:FALSE +keyUsage = digitalSignature, keyEncipherment, dataEncipherment +extendedKeyUsage = clientAuth +nsCertType = client +crlDistributionPoints = @crl + +[ crl ] +URI=http://testca.local/ca.crl
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/SSLTest/serverkeystore.jks b/tests/src/test/resources/analysis/SSLTest/serverkeystore.jks Binary files differnew file mode 100644 index 00000000000..319c899278a --- /dev/null +++ b/tests/src/test/resources/analysis/SSLTest/serverkeystore.jks diff --git a/tests/src/test/resources/analysis/SSLTest/servertruststore.jks b/tests/src/test/resources/analysis/SSLTest/servertruststore.jks Binary files differnew file mode 100644 index 00000000000..a3aee3b8a9d --- /dev/null +++ b/tests/src/test/resources/analysis/SSLTest/servertruststore.jks diff --git a/tests/src/test/resources/analysis/SettingsEncryptionTest/sonar-secret.txt b/tests/src/test/resources/analysis/SettingsEncryptionTest/sonar-secret.txt new file mode 100644 index 00000000000..65b98c522da --- /dev/null +++ b/tests/src/test/resources/analysis/SettingsEncryptionTest/sonar-secret.txt @@ -0,0 +1 @@ +0PZz+G+f8mjr3sPn4+AhHg==
\ No newline at end of file diff --git a/tests/src/test/resources/analysis/TempFolderTest/one-issue-per-line.xml b/tests/src/test/resources/analysis/TempFolderTest/one-issue-per-line.xml new file mode 100644 index 00000000000..7bb4ed5593a --- /dev/null +++ b/tests/src/test/resources/analysis/TempFolderTest/one-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_create.html b/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_create.html new file mode 100644 index 00000000000..0e67e0f4fab --- /dev/null +++ b/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_create.html @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>root-user</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>root-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>name=commit</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/permission_templates</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.page-actions button</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=.page-actions button</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=#permission-template-name</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>css=#permission-template-name</td> + <td>Custom</td> + </tr> + <tr> + <td>type</td> + <td>css=#permission-template-description</td> + <td>Description</td> + </tr> + <tr> + <td>type</td> + <td>css=#permission-template-project-key-pattern</td> + <td>.*</td> + </tr> + <tr> + <td>click</td> + <td>css=#permission-template-submit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=tr[data-name="Custom"]</td> + <td></td> + </tr> + <tr> + <td>assertText</td> + <td>css=tr[data-name="Custom"] .js-name</td> + <td>*Custom*</td> + </tr> + <tr> + <td>assertText</td> + <td>css=tr[data-name="Custom"] .js-description</td> + <td>*Description*</td> + </tr> + <tr> + <td>assertText</td> + <td>css=tr[data-name="Custom"] .js-project-key-pattern</td> + <td>*.*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_display_page.html b/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_display_page.html new file mode 100644 index 00000000000..8d9640f25b6 --- /dev/null +++ b/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_display_page.html @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_display_page</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/permission_templates</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=tr[data-id="default_template"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=tr[data-id="default_template"] .js-name</td> + <td>*Default template*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=tr[data-id="default_template"] .js-defaults</td> + <td>*Projects*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=tr[data-id="default_template"] .js-description</td> + <td>*This permission template will be used*</td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=td[data-permission="user"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=td[data-permission="codeviewer"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=td[data-permission="issueadmin"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=td[data-permission="admin"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=td[data-permission="scan"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html b/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html new file mode 100644 index 00000000000..3d1c172a783 --- /dev/null +++ b/tests/src/test/resources/authorisation/PermissionTemplatesPageTest/should_manage_project_creators.html @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_manage_project_creators</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>name=commit</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/permission_templates</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=td[data-permission="user"]</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=td[data-permission="user"] .js-update-users</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=#grant-to-project-creators</td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td>css=#grant-to-project-creators:not(:checked)</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=#grant-to-project-creators</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=.js-modal-close</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=td[data-permission="user"] .js-project-creators</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=td[data-permission="user"] .js-update-users</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=#grant-to-project-creators</td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td>css=#grant-to-project-creators:checked</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=#grant-to-project-creators</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=.js-modal-close</td> + <td></td> + </tr> + <tr> + <td>waitForElementNotPresent</td> + <td>css=td[data-permission="user"] .js-project-creators</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/authorisation/ProvisioningPermissionTest/should-be-able-to-provision-project.html b/tests/src/test/resources/authorisation/ProvisioningPermissionTest/should-be-able-to-provision-project.html new file mode 100644 index 00000000000..c5db3b4898a --- /dev/null +++ b/tests/src/test/resources/authorisation/ProvisioningPermissionTest/should-be-able-to-provision-project.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>user-cannot-administrate-profile</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-with-provisioning</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>password</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/projects_admin</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=#projects-type__ALL</td> + <td></td> + </tr> + <tr> + <td>assertText</td> + <td>css=.page-actions button</td> + <td>*Create Project*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/authorisation/ProvisioningPermissionTest/should-not-be-able-to-provision-project.html b/tests/src/test/resources/authorisation/ProvisioningPermissionTest/should-not-be-able-to-provision-project.html new file mode 100644 index 00000000000..270daf67cd9 --- /dev/null +++ b/tests/src/test/resources/authorisation/ProvisioningPermissionTest/should-not-be-able-to-provision-project.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>user-cannot-administrate-profile</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-without-provisioning</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>password</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/projects_admin</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=#projects-type__ALL</td> + <td></td> + </tr> + <tr> + <td>assertNotText</td> + <td>css=.page-actions button</td> + <td>*Create Project*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/authorisation/QualityProfileAdminPermissionTest/normal-user.html b/tests/src/test/resources/authorisation/QualityProfileAdminPermissionTest/normal-user.html new file mode 100644 index 00000000000..b9190a27027 --- /dev/null +++ b/tests/src/test/resources/authorisation/QualityProfileAdminPermissionTest/normal-user.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>user-cannot-administrate-profile</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>not_profileadm</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>userpwd</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/profiles</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-row[data-name="foo"]</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=.quality-profiles-table-row[data-name="foo"] .quality-profiles-table-name a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*foo*</td> + </tr> + <tr> + <td>assertElementNotPresent</td> + <td>css=.js-change-parent</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/authorisation/QualityProfileAdminPermissionTest/profile-admin.html b/tests/src/test/resources/authorisation/QualityProfileAdminPermissionTest/profile-admin.html new file mode 100644 index 00000000000..86d6b26ece8 --- /dev/null +++ b/tests/src/test/resources/authorisation/QualityProfileAdminPermissionTest/profile-admin.html @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>user-can-administrate-profile</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>profileadm</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>papwd</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-row[data-name="foo"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profiles-table-row[data-name="foo"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*foo*</td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.js-change-parent</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/project/quality_profiles?id=sample</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Quality Profiles*</td> +</tr> +<tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Xoo*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/authorisation/one-issue-per-line-profile.xml b/tests/src/test/resources/authorisation/one-issue-per-line-profile.xml new file mode 100644 index 00000000000..521adc7e06f --- /dev/null +++ b/tests/src/test/resources/authorisation/one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/dbCleaner/one-issue-per-line-profile.xml b/tests/src/test/resources/dbCleaner/one-issue-per-line-profile.xml new file mode 100644 index 00000000000..2006b6fb365 --- /dev/null +++ b/tests/src/test/resources/dbCleaner/one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/duplication/CrossProjectDuplicationsOnRemoveFileTest/duplications-with-deleted-project.html b/tests/src/test/resources/duplication/CrossProjectDuplicationsOnRemoveFileTest/duplications-with-deleted-project.html new file mode 100644 index 00000000000..37a48368f83 --- /dev/null +++ b/tests/src/test/resources/duplication/CrossProjectDuplicationsOnRemoveFileTest/duplications-with-deleted-project.html @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>duplications-with-deleted-project</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">duplications-with-deleted-project</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/component/index?id=duplicate-project%3Asrc%2Fmain%2Fxoo%2Fsample%2FFile1.xoo</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.source-viewer</td> + <td>*src/main/xoo/sample/File1.xoo*</td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.source-table</td> + <td>*File1*</td> + </tr> + <tr> + <td>click</td> + <td>css=.source-line-duplicated</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.bubble-popup</td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td>css=.bubble-popup .alert</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/duplication/CrossProjectDuplicationsOnRemoveFileTest/duplications_on_removed_file-expected.json b/tests/src/test/resources/duplication/CrossProjectDuplicationsOnRemoveFileTest/duplications_on_removed_file-expected.json new file mode 100644 index 00000000000..37f0e402120 --- /dev/null +++ b/tests/src/test/resources/duplication/CrossProjectDuplicationsOnRemoveFileTest/duplications_on_removed_file-expected.json @@ -0,0 +1,25 @@ +{ + "duplications": [ + { + "blocks": [ + { + "from": 9, + "size": 27 + }, + { + "from": 9, + "size": 27, + "_ref": "1" + } + ] + } + ], + "files": { + "1": { + "key": "duplicate-project:src/main/xoo/sample/File1.xoo", + "name": "src/main/xoo/sample/File1.xoo", + "project": "duplicate-project", + "projectName": "duplicate-project" + } + } +} diff --git a/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/cross-project-duplications-viewer.html b/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/cross-project-duplications-viewer.html new file mode 100644 index 00000000000..689594fdbb1 --- /dev/null +++ b/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/cross-project-duplications-viewer.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>cross-project-duplications-viewer</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">cross-project-duplications-viewer</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/component/index?id=duplicate-project%3Asrc%2Fmain%2Fxoo%2Fsample%2FFile1.xoo</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.source-line</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.source-viewer-header</td> + <td>*75.0%*</td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.source-line-duplicated</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=[data-line-number='3']</td> + <td>*File1*</td> + </tr> + <tr> + <td>click</td> + <td>css=.source-line-duplicated</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.bubble-popup</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.bubble-popup</td> + <td>glob:*origin-project*File1.xoo*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/duplications_show-expected.json b/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/duplications_show-expected.json new file mode 100644 index 00000000000..a9b0c623f53 --- /dev/null +++ b/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/duplications_show-expected.json @@ -0,0 +1,32 @@ +{ + "duplications": [ + { + "blocks": [ + { + "from": 9, + "size": 27, + "_ref": "1" + }, + { + "from": 9, + "size": 27, + "_ref": "2" + } + ] + } + ], + "files": { + "2": { + "key": "origin-project:src/main/xoo/sample/File1.xoo", + "name": "src/main/xoo/sample/File1.xoo", + "project": "origin-project", + "projectName": "origin-project" + }, + "1": { + "key": "duplicate-project:src/main/xoo/sample/File1.xoo", + "name": "src/main/xoo/sample/File1.xoo", + "project": "duplicate-project", + "projectName": "duplicate-project" + } + } +} diff --git a/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/sources_lines_duplication-expected.json b/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/sources_lines_duplication-expected.json new file mode 100644 index 00000000000..0ce4c68a243 --- /dev/null +++ b/tests/src/test/resources/duplication/CrossProjectDuplicationsTest/sources_lines_duplication-expected.json @@ -0,0 +1,184 @@ +{ + "sources": [ + { + "line": 1, + "code": "package sample;", + "duplicated": false + }, + { + "line": 2, + "code": "", + "duplicated": false + }, + { + "line": 3, + "code": "public class File1 {", + "duplicated": false + }, + { + "line": 4, + "code": "", + "duplicated": false + }, + { + "line": 5, + "code": " public File1() {", + "duplicated": false + }, + { + "line": 6, + "code": " }", + "duplicated": false + }, + { + "line": 7, + "code": "", + "duplicated": false + }, + { + "line": 8, + "code": " public void test() {", + "duplicated": false + }, + { + "line": 9, + "code": " char[] charList = new char[30];", + "duplicated": true + }, + { + "line": 10, + "code": " for (int i = 0; i < 10; i++) {", + "duplicated": true + }, + { + "line": 11, + "code": " charList[i] = 'a';", + "duplicated": true + }, + { + "line": 12, + "code": " }", + "duplicated": true + }, + { + "line": 13, + "code": " for (int i = 0; i < 10; i++) {", + "duplicated": true + }, + { + "line": 14, + "code": " charList[i] = 'a';", + "duplicated": true + }, + { + "line": 15, + "code": " }", + "duplicated": true + }, + { + "line": 16, + "code": " int intergerToBeIncremented = 0;", + "duplicated": true + }, + { + "line": 17, + "code": " while (intergerToBeIncremented < 100) {", + "duplicated": true + }, + { + "line": 18, + "code": " intergerToBeIncremented++;", + "duplicated": true + }, + { + "line": 19, + "code": " }", + "duplicated": true + }, + { + "line": 20, + "code": " int intergerToBeIncremented2 = 0;", + "duplicated": true + }, + { + "line": 21, + "code": " while (intergerToBeIncremented2 < 100) {", + "duplicated": true + }, + { + "line": 22, + "code": " intergerToBeIncremented2++;", + "duplicated": true + }, + { + "line": 23, + "code": " }", + "duplicated": true + }, + { + "line": 24, + "code": " String temp = \"\";", + "duplicated": true + }, + { + "line": 25, + "code": " for (int i=0; i<10; i++){", + "duplicated": true + }, + { + "line": 26, + "code": " temp += \"say something\"+i;", + "duplicated": true + }, + { + "line": 27, + "code": " }", + "duplicated": true + }, + { + "line": 28, + "code": " for (int i=0; i<20; i++){", + "duplicated": true + }, + { + "line": 29, + "code": " temp += \"say nothing\"+i;", + "duplicated": true + }, + { + "line": 30, + "code": " }", + "duplicated": true + }, + { + "line": 31, + "code": " for (int i=0; i<30; i++){", + "duplicated": true + }, + { + "line": 32, + "code": " temp += \"always say nothing\"+i;", + "duplicated": true + }, + { + "line": 33, + "code": " }", + "duplicated": true + }, + { + "line": 34, + "code": " }", + "duplicated": true + }, + { + "line": 35, + "code": "}", + "duplicated": true + }, + { + "line": 36, + "code": "", + "duplicated": false + } + ] +} diff --git a/tests/src/test/resources/duplication/DuplicationsTest/duplications_show-expected.json b/tests/src/test/resources/duplication/DuplicationsTest/duplications_show-expected.json new file mode 100644 index 00000000000..83b69f2be1d --- /dev/null +++ b/tests/src/test/resources/duplication/DuplicationsTest/duplications_show-expected.json @@ -0,0 +1,26 @@ +{ + "duplications": [ + { + "blocks": [ + { + "from": 9, + "size": 29, + "_ref": "1" + }, + { + "from": 40, + "size": 31, + "_ref": "1" + } + ] + } + ], + "files": { + "1": { + "key": "file-duplications:src/main/xoo/duplicated_lines_within_same_file/DuplicatedLinesInSameFile.xoo", + "name": "src/main/xoo/duplicated_lines_within_same_file/DuplicatedLinesInSameFile.xoo", + "project": "file-duplications", + "projectName": "file-duplications" + } + } +} diff --git a/tests/src/test/resources/duplication/DuplicationsTest/sources_lines_duplication-expected.json b/tests/src/test/resources/duplication/DuplicationsTest/sources_lines_duplication-expected.json new file mode 100644 index 00000000000..f6ccc926f29 --- /dev/null +++ b/tests/src/test/resources/duplication/DuplicationsTest/sources_lines_duplication-expected.json @@ -0,0 +1,359 @@ +{ + "sources": [ + { + "line": 1, + "code": "package duplicated_lines_within_same_file;", + "duplicated": false + }, + { + "line": 2, + "code": "", + "duplicated": false + }, + { + "line": 3, + "code": "public class DuplicatedLinesInSameFile {", + "duplicated": false + }, + { + "line": 4, + "code": "", + "duplicated": false + }, + { + "line": 5, + "code": " public DuplicatedLinesInSameFile() {", + "duplicated": false + }, + { + "line": 6, + "code": " }", + "duplicated": false + }, + { + "line": 7, + "code": "", + "duplicated": false + }, + { + "line": 8, + "code": " public void duplicatedMethodInSameFile1() {", + "duplicated": false + }, + { + "line": 9, + "code": " String temp = \"\";", + "duplicated": true + }, + { + "line": 10, + "code": " for (int i=0; i<10; i++){", + "duplicated": true + }, + { + "line": 11, + "code": " temp += \"say something\"+i;", + "duplicated": true + }, + { + "line": 12, + "code": " }", + "duplicated": true + }, + { + "line": 13, + "code": " for (int i=0; i<20; i++){", + "duplicated": true + }, + { + "line": 14, + "code": " temp += \"say nothing\"+i;", + "duplicated": true + }, + { + "line": 15, + "code": " }", + "duplicated": true + }, + { + "line": 16, + "code": " for (int i=0; i<30; i++){", + "duplicated": true + }, + { + "line": 17, + "code": " temp += \"always say nothing\"+i;", + "duplicated": true + }, + { + "line": 18, + "code": " }", + "duplicated": true + }, + { + "line": 19, + "code": " for (int i=0; i<40; i++){", + "duplicated": true + }, + { + "line": 20, + "code": " temp += \"really nothing to say \"+i;", + "duplicated": true + }, + { + "line": 21, + "code": " }", + "duplicated": true + }, + { + "line": 22, + "code": " for (int i=0; i<50; i++){", + "duplicated": true + }, + { + "line": 23, + "code": " temp += \"really really nothing to say \"+i;", + "duplicated": true + }, + { + "line": 24, + "code": " }", + "duplicated": true + }, + { + "line": 25, + "code": " for (int i=0; i<60; i++){", + "duplicated": true + }, + { + "line": 26, + "code": " temp += \".. \"+i;", + "duplicated": true + }, + { + "line": 27, + "code": " }", + "duplicated": true + }, + { + "line": 28, + "code": " for (int i=0; i<70; i++){", + "duplicated": true + }, + { + "line": 29, + "code": " temp += \"you say something? \"+i;", + "duplicated": true + }, + { + "line": 30, + "code": " }", + "duplicated": true + }, + { + "line": 31, + "code": " for (int i=0; i<80; i++){", + "duplicated": true + }, + { + "line": 32, + "code": " temp += \"ah no...\"+i;", + "duplicated": true + }, + { + "line": 33, + "code": " }", + "duplicated": true + }, + { + "line": 34, + "code": " for (int i=0; i<90; i++){", + "duplicated": true + }, + { + "line": 35, + "code": " temp += \"bye\"+i;", + "duplicated": true + }, + { + "line": 36, + "code": " }", + "duplicated": true + }, + { + "line": 37, + "code": " }", + "duplicated": true + }, + { + "line": 38, + "code": "", + "duplicated": false + }, + { + "line": 39, + "code": " public void duplicatedMethodInSameFile2() {", + "duplicated": false + }, + { + "line": 40, + "code": " String temp = \"\";", + "duplicated": true + }, + { + "line": 41, + "code": " for (int i=0; i<10; i++){", + "duplicated": true + }, + { + "line": 42, + "code": " temp += \"say something\"+i;", + "duplicated": true + }, + { + "line": 43, + "code": " }", + "duplicated": true + }, + { + "line": 44, + "code": " for (int i=0; i<20; i++){", + "duplicated": true + }, + { + "line": 45, + "code": " temp += \"say nothing\"+i;", + "duplicated": true + }, + { + "line": 46, + "code": " }", + "duplicated": true + }, + { + "line": 47, + "code": " for (int i=0; i<30; i++){", + "duplicated": true + }, + { + "line": 48, + "code": " temp += \"always say nothing\"+i;", + "duplicated": true + }, + { + "line": 49, + "code": " }", + "duplicated": true + }, + { + "line": 50, + "code": " for (int i=0; i<40; i++){", + "duplicated": true + }, + { + "line": 51, + "code": " temp += \"really nothing to say \"+i;", + "duplicated": true + }, + { + "line": 52, + "code": " }", + "duplicated": true + }, + { + "line": 53, + "code": " for (int i=0; i<50; i++){", + "duplicated": true + }, + { + "line": 54, + "code": " temp += \"really really nothing to say \"+i;", + "duplicated": true + }, + { + "line": 55, + "code": " }", + "duplicated": true + }, + { + "line": 56, + "code": " for (int i=0; i<60; i++){", + "duplicated": true + }, + { + "line": 57, + "code": " temp += \".. \"+i;", + "duplicated": true + }, + { + "line": 58, + "code": " }", + "duplicated": true + }, + { + "line": 59, + "code": " for (int i=0; i<70; i++){", + "duplicated": true + }, + { + "line": 60, + "code": " temp += \"you say something? \"+i;", + "duplicated": true + }, + { + "line": 61, + "code": " }", + "duplicated": true + }, + { + "line": 62, + "code": " for (int i=0; i<80; i++){", + "duplicated": true + }, + { + "line": 63, + "code": " temp += \"ah no...\"+i;", + "duplicated": true + }, + { + "line": 64, + "code": " }", + "duplicated": true + }, + { + "line": 65, + "code": " for (int i=0; i<90; i++){", + "duplicated": true + }, + { + "line": 66, + "code": " temp += \"bye\"+i;", + "duplicated": true + }, + { + "line": 67, + "code": " }", + "duplicated": true + }, + { + "line": 68, + "code": " }", + "duplicated": true + }, + { + "line": 69, + "code": "", + "duplicated": true + }, + { + "line": 70, + "code": "}", + "duplicated": true + }, + { + "line": 71, + "code": "", + "duplicated": false + } + ] +} diff --git a/tests/src/test/resources/duplication/xoo-duplication-profile.xml b/tests/src/test/resources/duplication/xoo-duplication-profile.xml new file mode 100644 index 00000000000..999b64a8251 --- /dev/null +++ b/tests/src/test/resources/duplication/xoo-duplication-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>xoo-duplication-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>DuplicatedBlocks</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/exclusions/IssueExclusionsTest/with-many-rules.xml b/tests/src/test/resources/exclusions/IssueExclusionsTest/with-many-rules.xml new file mode 100644 index 00000000000..f3d0baf0616 --- /dev/null +++ b/tests/src/test/resources/exclusions/IssueExclusionsTest/with-many-rules.xml @@ -0,0 +1,32 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/i18n/default-locale-is-english.html b/tests/src/test/resources/i18n/default-locale-is-english.html new file mode 100644 index 00000000000..978ceaa382e --- /dev/null +++ b/tests/src/test/resources/i18n/default-locale-is-english.html @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>default_locale_is_english</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">default_locale_is_english</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/dashboard/index?id=sample&name=Dashboard&locale=foo</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>regexp:.*Jan.*|.*Feb.*|.*Mar.*|.*Apr.*|.*May.*|.*Jun.*|.*Jul.*|.*Aug.*|.*Sep.*|.*Oct.*|.*Nov.*|.*Dec.*</td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*0.0%*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/i18n/french-locale.html b/tests/src/test/resources/i18n/french-locale.html new file mode 100644 index 00000000000..389f9e04ec4 --- /dev/null +++ b/tests/src/test/resources/i18n/french-locale.html @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>french</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/dashboard/index?id=sample&name=Dashboard&locale=fr</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>regexp:.*jan.*|.*fév.*|.*mar.*|.*avr.*|.*mai.*|.*juin.*|.*juil.*|.*août.*|.*sept.*|.*oct.*|.*nov.*|.*déc.*</td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*0,0%*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/i18n/french-pack.html b/tests/src/test/resources/i18n/french-pack.html new file mode 100644 index 00000000000..3f801c9a6ec --- /dev/null +++ b/tests/src/test/resources/i18n/french-pack.html @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>french-pack</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french-pack</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/?locale=fr</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.navbar</td> + <td>glob:*Se connecter*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/i18n/locale-with-france-country.html b/tests/src/test/resources/i18n/locale-with-france-country.html new file mode 100644 index 00000000000..e84051475eb --- /dev/null +++ b/tests/src/test/resources/i18n/locale-with-france-country.html @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>french-france</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french-france</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/dashboard/index?id=sample&name=Dashboard&locale=fr-FR</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>regexp:.*jan.*|.*fév.*|.*mar.*|.*avr.*|.*mai.*|.*juin.*|.*juil.*|.*août.*|.*sept.*|.*oct.*|.*nov.*|.*déc.*</td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*0,0%*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/i18n/locale-with-swiss-country.html b/tests/src/test/resources/i18n/locale-with-swiss-country.html new file mode 100644 index 00000000000..be1453e002f --- /dev/null +++ b/tests/src/test/resources/i18n/locale-with-swiss-country.html @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>french-switzerland</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french-switzerland</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/dashboard/index?id=sample&name=Dashboard&locale=fr-CH</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>regexp:.*jan.*|.*fév.*|.*mar.*|.*avr.*|.*mai.*|.*juin.*|.*juil.*|.*août.*|.*sept.*|.*oct.*|.*nov.*|.*déc.*</td> + </tr> + <tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*0.0%*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/issue/CommonRulesTest/xoo-common-rules-profile.xml b/tests/src/test/resources/issue/CommonRulesTest/xoo-common-rules-profile.xml new file mode 100644 index 00000000000..9803527b94f --- /dev/null +++ b/tests/src/test/resources/issue/CommonRulesTest/xoo-common-rules-profile.xml @@ -0,0 +1,55 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>xoo-common-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>DuplicatedBlocks</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientBranchCoverage</key> + <priority>CRITICAL</priority> + <parameters> + <parameter> + <key>minimumBranchCoverageRatio</key> + <value>90</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientCommentDensity</key> + <priority>CRITICAL</priority> + <parameters> + <parameter> + <key>minimumCommentDensity</key> + <value>90.0</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientLineCoverage</key> + <priority>CRITICAL</priority> + <parameters> + <parameter> + <key>minimumLineCoverageRatio</key> + <value>90</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>FailedUnitTests</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>SkippedUnitTests</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/CustomRulesTest/custom.xml b/tests/src/test/resources/issue/CustomRulesTest/custom.xml new file mode 100644 index 00000000000..b04d126115d --- /dev/null +++ b/tests/src/test/resources/issue/CustomRulesTest/custom.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>Custom</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>MyCustomRule</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/issue/IssueActionTest/xoo-one-issue-per-line-profile.xml b/tests/src/test/resources/issue/IssueActionTest/xoo-one-issue-per-line-profile.xml new file mode 100644 index 00000000000..608f80cae96 --- /dev/null +++ b/tests/src/test/resources/issue/IssueActionTest/xoo-one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>xoo-one-issue-per-line-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueBulkChangeTest/one-issue-per-line-profile.xml b/tests/src/test/resources/issue/IssueBulkChangeTest/one-issue-per-line-profile.xml new file mode 100644 index 00000000000..365aa896a73 --- /dev/null +++ b/tests/src/test/resources/issue/IssueBulkChangeTest/one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueChangelogTest/one-issue-per-line-profile.xml b/tests/src/test/resources/issue/IssueChangelogTest/one-issue-per-line-profile.xml new file mode 100644 index 00000000000..365aa896a73 --- /dev/null +++ b/tests/src/test/resources/issue/IssueChangelogTest/one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueCreationDateTest/no-rules.xml b/tests/src/test/resources/issue/IssueCreationDateTest/no-rules.xml new file mode 100644 index 00000000000..62ec52d9d10 --- /dev/null +++ b/tests/src/test/resources/issue/IssueCreationDateTest/no-rules.xml @@ -0,0 +1,6 @@ +<profile> + <name>creation-date-quality-profile</name> + <language>xoo</language> + <rules> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueCreationDateTest/one-rule.xml b/tests/src/test/resources/issue/IssueCreationDateTest/one-rule.xml new file mode 100644 index 00000000000..c1d7d44f02c --- /dev/null +++ b/tests/src/test/resources/issue/IssueCreationDateTest/one-rule.xml @@ -0,0 +1,11 @@ +<profile> + <name>creation-date-quality-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueCreationTest/override-profile-severity.xml b/tests/src/test/resources/issue/IssueCreationTest/override-profile-severity.xml new file mode 100644 index 00000000000..d048760be60 --- /dev/null +++ b/tests/src/test/resources/issue/IssueCreationTest/override-profile-severity.xml @@ -0,0 +1,11 @@ +<profile> + <name>override-profile-severity</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneBlockerIssuePerFile</key> + <priority>INFO</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueCreationTest/with-custom-message.xml b/tests/src/test/resources/issue/IssueCreationTest/with-custom-message.xml new file mode 100644 index 00000000000..323e50985cd --- /dev/null +++ b/tests/src/test/resources/issue/IssueCreationTest/with-custom-message.xml @@ -0,0 +1,11 @@ +<profile> + <name>with-custom-message</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>CustomMessage</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueFilterExtensionTest/xoo-with-many-rules.xml b/tests/src/test/resources/issue/IssueFilterExtensionTest/xoo-with-many-rules.xml new file mode 100644 index 00000000000..a08c9cdd246 --- /dev/null +++ b/tests/src/test/resources/issue/IssueFilterExtensionTest/xoo-with-many-rules.xml @@ -0,0 +1,32 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueFilterOnCommonRulesTest/xoo-common-rules-profile.xml b/tests/src/test/resources/issue/IssueFilterOnCommonRulesTest/xoo-common-rules-profile.xml new file mode 100644 index 00000000000..9803527b94f --- /dev/null +++ b/tests/src/test/resources/issue/IssueFilterOnCommonRulesTest/xoo-common-rules-profile.xml @@ -0,0 +1,55 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>xoo-common-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>DuplicatedBlocks</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientBranchCoverage</key> + <priority>CRITICAL</priority> + <parameters> + <parameter> + <key>minimumBranchCoverageRatio</key> + <value>90</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientCommentDensity</key> + <priority>CRITICAL</priority> + <parameters> + <parameter> + <key>minimumCommentDensity</key> + <value>90.0</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientLineCoverage</key> + <priority>CRITICAL</priority> + <parameters> + <parameter> + <key>minimumLineCoverageRatio</key> + <value>90</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>FailedUnitTests</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>SkippedUnitTests</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssueFilterTest/with-many-rules.xml b/tests/src/test/resources/issue/IssueFilterTest/with-many-rules.xml new file mode 100644 index 00000000000..366a3ab7576 --- /dev/null +++ b/tests/src/test/resources/issue/IssueFilterTest/with-many-rules.xml @@ -0,0 +1,43 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientLineCoverage</key> + <priority>BLOCKER</priority> + <parameters> + <parameter> + <key>minimumLineCoverageRatio</key> + <value>90</value> + </parameter> + </parameters> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/IssuePurgeTest/with-many-rules.xml b/tests/src/test/resources/issue/IssuePurgeTest/with-many-rules.xml new file mode 100644 index 00000000000..f3d0baf0616 --- /dev/null +++ b/tests/src/test/resources/issue/IssuePurgeTest/with-many-rules.xml @@ -0,0 +1,32 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/issue/IssueTrackingTest/one-issue-per-module-profile.xml b/tests/src/test/resources/issue/IssueTrackingTest/one-issue-per-module-profile.xml new file mode 100644 index 00000000000..8b863ce9a46 --- /dev/null +++ b/tests/src/test/resources/issue/IssueTrackingTest/one-issue-per-module-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-module</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/issue/IssueWorkflowTest/xoo-one-issue-per-line-profile.xml b/tests/src/test/resources/issue/IssueWorkflowTest/xoo-one-issue-per-line-profile.xml new file mode 100644 index 00000000000..608f80cae96 --- /dev/null +++ b/tests/src/test/resources/issue/IssueWorkflowTest/xoo-one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>xoo-one-issue-per-line-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/NewIssuesMeasureTest/profile1.xml b/tests/src/test/resources/issue/NewIssuesMeasureTest/profile1.xml new file mode 100644 index 00000000000..3acc7f6a4ed --- /dev/null +++ b/tests/src/test/resources/issue/NewIssuesMeasureTest/profile1.xml @@ -0,0 +1,27 @@ +<profile> + <name>profile1</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/NewIssuesMeasureTest/profile2.xml b/tests/src/test/resources/issue/NewIssuesMeasureTest/profile2.xml new file mode 100644 index 00000000000..70e0f8cd25a --- /dev/null +++ b/tests/src/test/resources/issue/NewIssuesMeasureTest/profile2.xml @@ -0,0 +1,32 @@ +<profile> + <name>profile2</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/issue-on-tag-foobar.xml b/tests/src/test/resources/issue/issue-on-tag-foobar.xml new file mode 100644 index 00000000000..d49b8f7c6c5 --- /dev/null +++ b/tests/src/test/resources/issue/issue-on-tag-foobar.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>issue-on-tag-foobar</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>MAJOR</priority> + <parameters> + <parameter> + <key>tag</key> + <value>foobar</value> + </parameter> + </parameters> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/one-issue-per-file-profile.xml b/tests/src/test/resources/issue/one-issue-per-file-profile.xml new file mode 100644 index 00000000000..141921f02e7 --- /dev/null +++ b/tests/src/test/resources/issue/one-issue-per-file-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-file-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/one-issue-per-line-profile.xml b/tests/src/test/resources/issue/one-issue-per-line-profile.xml new file mode 100644 index 00000000000..28cebcc2380 --- /dev/null +++ b/tests/src/test/resources/issue/one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-line-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/issue/with-many-rules.xml b/tests/src/test/resources/issue/with-many-rules.xml new file mode 100644 index 00000000000..f97ef70cefd --- /dev/null +++ b/tests/src/test/resources/issue/with-many-rules.xml @@ -0,0 +1,42 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneBugIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneVulnerabilityIssuePerModule</key> + <priority>BLOCKER</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/logback-test.xml b/tests/src/test/resources/logback-test.xml new file mode 100644 index 00000000000..599faa969f0 --- /dev/null +++ b/tests/src/test/resources/logback-test.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<configuration debug="false"> + <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator"/> + + <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> + <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> + <pattern> + %d{yyyy.MM.dd HH:mm:ss} %-5level %msg%n + </pattern> + </encoder> + </appender> + + <root> + <!-- Don't set to DEBUG or it will show the dev licenses into the console!!!! --> + <level value="INFO"/> + <appender-ref ref="CONSOLE"/> + </root> + +</configuration> diff --git a/tests/src/test/resources/measure/ProjectDashboardTest/test_project_overview_after_first_analysis.html b/tests/src/test/resources/measure/ProjectDashboardTest/test_project_overview_after_first_analysis.html new file mode 100644 index 00000000000..ac440b184aa --- /dev/null +++ b/tests/src/test/resources/measure/ProjectDashboardTest/test_project_overview_after_first_analysis.html @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>test_project_overview_after_first_analysis</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/dashboard?id=project-for-overview</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Quality Gate*Passed*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=overview-code-smells</td> + <td>*0*A*Debt*0*Code Smells*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*0.0%*Duplications*0*Duplicated Blocks*</td> + </tr> + <tr> + <td>assertNotText</td> + <td>id=content</td> + <td>*Coverage*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Quality Gate*SonarQube way*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Quality Profiles*Xoo*Basic*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_display_measures_page.html b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_display_measures_page.html new file mode 100644 index 00000000000..4c5a77a9545 --- /dev/null +++ b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_display_measures_page.html @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_display_measure_drilldown</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/component_measures?id=project-measures-page-test-project</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=measure-code_smells</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>id=measure-code_smells-value</td> + <td>*0*</td> +</tr> +<tr> + <td>assertText</td> + <td>id=measure-new_code_smells-leak</td> + <td>*0*</td> +</tr> +<tr> + <td>click</td> + <td>css=#measure-code_smells > a</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Code Smells*0*</td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*src/main/xoo/sample*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html new file mode 100644 index 00000000000..e68d8b87dfb --- /dev/null +++ b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_list_view.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_drilldown_on_list_view</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/component_measures/metric/ncloc/list?id=project-measures-page-test-project</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td> + <td>*src/main/xoo/sample/Sample.xoo*</td> +</tr> +<tr> + <td>assertText</td> + <td>id=component-measures-component-measure-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo-ncloc</td> + <td>*13*</td> +</tr> +<tr> + <td>click</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.source-line-code</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.component-measures-breadcrumbs</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=component-measures-breadcrumb-project-measures-page-test-project</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.component-measures-breadcrumbs</td> + <td>*Sample.xoo*13*</td> +</tr> +<tr> + <td>click</td> + <td>id=component-measures-breadcrumb-project-measures-page-test-project</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html new file mode 100644 index 00000000000..489c9d93afc --- /dev/null +++ b/tests/src/test/resources/measure/ProjectMeasuresPageTest/should_drilldown_on_tree_view.html @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_drilldown_on_tree_view</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/component_measures/metric/ncloc/tree?id=project-measures-page-test-project</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td> + <td>*src/main/xoo/sample*</td> +</tr> +<tr> + <td>assertText</td> + <td>id=component-measures-component-measure-project-measures-page-test-project:src/main/xoo/sample-ncloc</td> + <td>*13*</td> +</tr> +<tr> + <td>click</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td> + <td>*src/main/xoo/sample/Sample.xoo*</td> +</tr> +<tr> + <td>assertText</td> + <td>id=component-measures-component-measure-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo-ncloc</td> + <td>*13*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=.component-measures-breadcrumbs</td> + <td>*ProjectMeasuresPageTest Project*src/main/xoo/sample*13*</td> +</tr> +<tr> + <td>click</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample/Sample.xoo</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.source-line-code</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.component-measures-breadcrumbs</td> + <td>*ProjectMeasuresPageTest Project*src/main/xoo/sample*13*Sample.xoo*13*</td> +</tr> +<tr> + <td>click</td> + <td>id=component-measures-breadcrumb-project-measures-page-test-project</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=component-measures-component-link-project-measures-page-test-project:src/main/xoo/sample</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/measure/one-issue-per-file.xml b/tests/src/test/resources/measure/one-issue-per-file.xml new file mode 100644 index 00000000000..7193ebfd779 --- /dev/null +++ b/tests/src/test/resources/measure/one-issue-per-file.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-file</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/measure/one-issue-per-line-profile.xml b/tests/src/test/resources/measure/one-issue-per-line-profile.xml new file mode 100644 index 00000000000..521adc7e06f --- /dev/null +++ b/tests/src/test/resources/measure/one-issue-per-line-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/measure/one-issue-per-line.xml b/tests/src/test/resources/measure/one-issue-per-line.xml new file mode 100644 index 00000000000..365aa896a73 --- /dev/null +++ b/tests/src/test/resources/measure/one-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/one-xoo-issue-per-line.xml b/tests/src/test/resources/one-xoo-issue-per-line.xml new file mode 100644 index 00000000000..b2f49460d34 --- /dev/null +++ b/tests/src/test/resources/one-xoo-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?><!-- Generated by Sonar --> +<profile> + <name>one-xoo-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MAJOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/organization/IssueAssignTest/one-issue-per-file-profile.xml b/tests/src/test/resources/organization/IssueAssignTest/one-issue-per-file-profile.xml new file mode 100644 index 00000000000..141921f02e7 --- /dev/null +++ b/tests/src/test/resources/organization/IssueAssignTest/one-issue-per-file-profile.xml @@ -0,0 +1,12 @@ +<?xml version="1.0"?><!-- Generated by Sonar --> +<profile> + <name>one-issue-per-file-profile</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_compare.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_compare.html new file mode 100644 index 00000000000..b8ea98d1690 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_compare.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_changelog</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_changelog</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-name a[href^="/organizations/test-org/quality_profiles/show?key=xoo-sample"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profiles-table-name a[href^="/organizations/test-org/quality_profiles/show?key=xoo-sample"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-compare</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-profile-comparison .Select</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-profile-comparison .Select-control</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_copy.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_copy.html new file mode 100644 index 00000000000..1ed2b8a9018 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_copy.html @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin2</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin2</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-copy</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>css=#copy-profile-name</td> + <td>copied</td> +</tr> +<tr> + <td>click</td> + <td>css=#copy-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*copied*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-rules</td> + <td>*1*Bugs*0*Vulnerabilities*0*Code Smells*1*</td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="copied"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_create.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_create.html new file mode 100644 index 00000000000..a6716b8c06a --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_create.html @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin2</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin2</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#quality-profiles-create</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profiles-create</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#create-profile-name</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=#create-profile-form-backup-XooProfileImporter</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>css=#create-profile-name</td> + <td>test</td> +</tr> +<tr> + <td>click</td> + <td>css=#create-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*test*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-rules</td> + <td>*Bugs*0*Vulnerabilities*0*Code Smells*0*</td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-row[data-name="test"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_delete.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_delete.html new file mode 100644 index 00000000000..9610b0db66c --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_delete.html @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin2</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin2</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-delete</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#delete-profile-submit</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#delete-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementNotPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"]</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_changelog.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_changelog.html new file mode 100644 index 00000000000..12536be7cbf --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_changelog.html @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_changelog</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_changelog</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=a[href^="/organizations/test-org/quality_profiles/changelog"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=a[href^="/organizations/test-org/quality_profiles/changelog"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-profile-changelog-event</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-profile-changelog-event</td> + <td>*System*Activated*Has Tag*Major*tag*xoo*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_list.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_list.html new file mode 100644 index 00000000000..4d9242c77de --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_list.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_display_list</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_list</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name</td> + <td>*Basic*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-projects</td> + <td>*Default*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-rules</td> + <td>*1*</td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-rules a[href^="/organizations/test-org/rules#qprofile"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo2"] tr[data-name="Basic"] .quality-profiles-table-name</td> + <td>*Basic*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_exporters.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_exporters.html new file mode 100644 index 00000000000..b26d162f2e7 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_exporters.html @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_projects.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_projects.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-exporters</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-exporters [data-key="XooFakeExporter"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-exporters a[href^="/api/qualityprofiles/export"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_inheritance.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_inheritance.html new file mode 100644 index 00000000000..c403fbf5196 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_inheritance.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_inheritance.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_inheritance.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-inheritance</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-inheritance-ancestor</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-inheritance-ancestor</td> + <td>*Basic*1*</td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.js-inheritance-current</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-inheritance-current</td> + <td>*sample*1*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_projects.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_projects.html new file mode 100644 index 00000000000..062014eb239 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_projects.html @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_projects.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_projects.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-projects</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-profile-project</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-profile-project</td> + <td>*Sample*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_rules.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_rules.html new file mode 100644 index 00000000000..6b497fc7b58 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_display_profile_rules.html @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_rules.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_rules.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-rules</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-rules</td> + <td>*Active*1*Bugs*0*Vulnerabilities*0*Code Smells*1*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_filter_by_language.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_filter_by_language.html new file mode 100644 index 00000000000..a913a70a34f --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_filter_by_language.html @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_filter_by_language</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_filter_by_language</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-language-filter</td> + <td>*All*</td> +</tr> +<tr> + <td>click</td> + <td>css=.js-language-filter</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-language-filter-option[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-language-filter-option[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementNotPresent</td> + <td>css=.quality-profiles-table[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-language-filter</td> + <td>*Xoo2*</td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles?language=xoo2</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=.quality-profiles-table[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-language-filter</td> + <td>*Xoo2*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_open_from_list.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_open_from_list.html new file mode 100644 index 00000000000..2e753ba1cd7 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_open_from_list.html @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_open_from_list</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_open_from_list</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-rules</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-inheritance</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-projects</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_rename.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_rename.html new file mode 100644 index 00000000000..5da4d40ca0c --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_rename.html @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin2</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin2</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-rename</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#rename-profile-name</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>css=#rename-profile-name</td> + <td>new name</td> +</tr> +<tr> + <td>click</td> + <td>css=#rename-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*new name*</td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="new name"] .quality-profiles-table-name a</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_restore.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_restore.html new file mode 100644 index 00000000000..dd2d21ba31f --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_restore.html @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin2</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin2</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-more-admin-actions</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-more-admin-actions</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profiles-restore</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#restore-profile-backup</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#restore-profile-submit</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_set_default.html b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_set_default.html new file mode 100644 index 00000000000..c267bf702e3 --- /dev/null +++ b/tests/src/test/resources/organization/OrganizationQualityProfilesUiTest/should_set_default.html @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin2</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin2</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-set-as-default</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-projects</td> + <td>*Default*</td> +</tr> +<tr> + <td>open</td> + <td>/organizations/test-org/quality_profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-row[data-name="sample"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.quality-profiles-table-row[data-name="sample"] .quality-profiles-table-projects</td> + <td>*Default*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectAdministration/BackgroundTasksTest/should_not_display_failing_and_search_and_filter_elements_on_project_level_page.html b/tests/src/test/resources/projectAdministration/BackgroundTasksTest/should_not_display_failing_and_search_and_filter_elements_on_project_level_page.html new file mode 100644 index 00000000000..e28cdbba827 --- /dev/null +++ b/tests/src/test/resources/projectAdministration/BackgroundTasksTest/should_not_display_failing_and_search_and_filter_elements_on_project_level_page.html @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_not_display_failing_and_search_and_filter_elements_on_project_level_page</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">should_not_display_failing_and_search_and_filter_elements_on_project_level_page</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>click</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/project/background_tasks?id=test-project</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.background-tasks .badge</td> + <td></td> +</tr> +<tr> + <td>assertNotText</td> + <td>css=.background-tasks</td> + <td>*Another Test Project*</td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=.js-search</td> + <td></td> +</tr> +<tr> + <td>assertNotText</td> + <td>css=#content</td> + <td>*still failing*</td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=.icon-filter</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectAdministration/BulkDeletionTest/bulk-delete-filter-projects.html b/tests/src/test/resources/projectAdministration/BulkDeletionTest/bulk-delete-filter-projects.html new file mode 100644 index 00000000000..b6256e49b35 --- /dev/null +++ b/tests/src/test/resources/projectAdministration/BulkDeletionTest/bulk-delete-filter-projects.html @@ -0,0 +1,79 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>bulk-delete-filter-projects</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/projects_admin</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Bar-Sonar-Plugin*Foo-Application*Sample-Project*</td> +</tr> +<tr> + <td>type</td> + <td>css=.search-box-input</td> + <td>s</td> +</tr> +<tr> + <td>click</td> + <td>css=.search-box-submit</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Bar-Sonar-Plugin*Sample-Project*</td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*cameleon-3*cameleon-1*</td> +</tr> +<tr> + <td>assertTextNotPresent</td> + <td>content</td> + <td>*Foo-Application*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-administration/multimodule-project-delete-version.html b/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-administration/multimodule-project-delete-version.html new file mode 100644 index 00000000000..496917b9e4c --- /dev/null +++ b/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-administration/multimodule-project-delete-version.html @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>multimodule-project-delete-version</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">project-modify-versions</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/project/history/com.sonarsource.it.samples:multi-modules-sample</td> + <td></td> + </tr> + <tr> + <td>clickAndWait</td> + <td>link=Remove</td> + <td></td> + </tr> + <tr> + <td>assertConfirmation</td> + <td>Are you sure you want to remove 'RELEASE' from this snapshot?</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>infomsg</td> + <td>glob:*Version 'RELEASE' was removed from current project*</td> + </tr> + <tr> + <td>assertNotText</td> + <td>version_1</td> + <td>glob:*RELEASE*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-administration/multimodule-project-modify-version.html b/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-administration/multimodule-project-modify-version.html new file mode 100644 index 00000000000..f336f7e93b9 --- /dev/null +++ b/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-administration/multimodule-project-modify-version.html @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>multimodule-project-modify-version</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">project-modify-versions</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>click</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/project/history/com.sonarsource.it.samples:multi-modules-sample</td> + <td></td> + </tr> + <tr> + <td>assertElementNotPresent</td> + <td>link=Remove</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>version_1_change</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>version_name_1</td> + <td>RELEASE</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>save_version_1</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>infomsg</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>infomsg</td> + <td>Version 'RELEASE' was created for current project.</td> + </tr> + <tr> + <td>waitForText</td> + <td>version_1</td> + <td>glob:*RELEASE*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-deletion/project-deletion.html b/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-deletion/project-deletion.html new file mode 100644 index 00000000000..9345f6e3f75 --- /dev/null +++ b/tests/src/test/resources/projectAdministration/ProjectAdministrationTest/project-deletion/project-deletion.html @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>project-deletion</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">project-deletion</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>project-deletion-with-admin-permission-on-project</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>password</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/project/deletion?id=sample</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#delete-project</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#delete-project</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#delete-project-confirm</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#delete-project-confirm</td> + <td></td> +</tr> +<tr> + <td>waitForElementNotPresent</td> + <td>css=#delete-project-confirm</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/dashboard?id=sample</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.process-spinner-failed</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectAdministration/ProjectPermissionsTest/test_project_permissions_page_shows_only_single_project.html b/tests/src/test/resources/projectAdministration/ProjectPermissionsTest/test_project_permissions_page_shows_only_single_project.html new file mode 100644 index 00000000000..cbb6595ff20 --- /dev/null +++ b/tests/src/test/resources/projectAdministration/ProjectPermissionsTest/test_project_permissions_page_shows_only_single_project.html @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>test_project_overview_after_first_analysis</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">test_project_overview_after_first_analysis</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/project_roles?id=project-permissions-project</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=#projects</td> + <td></td> + </tr> + <tr> + <td>assertNotText</td> + <td>css=#projects</td> + <td>*Another Test Project*</td> + </tr> + <tr> + <td>assertElementNotPresent</td> + <td>css=footer</td> + <td></td> + </tr> + <tr> + <td>assertElementNotPresent</td> + <td>css=.search-box</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-add-metrics.html b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-add-metrics.html new file mode 100644 index 00000000000..ab7758bd71a --- /dev/null +++ b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-add-metrics.html @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should-add-metrics</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/comparison/index</td> + <td></td> + </tr> + <tr> + <td>assertNotText</td> + <td>comparison-page</td> + <td>*Major issues*</td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>new_metric</td> + <td></td> + </tr> + <tr> + <td>typeAndWait</td> + <td>new_metric</td> + <td>major_violations</td> + </tr> + <tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*Lines of Code*Complexity*Comments (%)*Duplicated Lines (%)*Issues*Coverage*Major Issues*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-add-projects.html b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-add-projects.html new file mode 100644 index 00000000000..18c882331ad --- /dev/null +++ b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-add-projects.html @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should-add-projects</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/comparison/index</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>new_resource</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>new_resource</td> + <td>project-comparison-test-project</td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>//option[text()='1.0-SNAPSHOT']</td> + <td></td> +</tr> +<tr> + <td>selectAndWait</td> + <td>new_version</td> + <td>1.0-SNAPSHOT</td> +</tr> +<tr> + <td>waitForText</td> + <td>id=content</td> + <td>*ProjectComparisonTest Project*1.0-SNAPSHOT*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-display-basic-set-of-metrics.html b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-display-basic-set-of-metrics.html new file mode 100644 index 00000000000..3a8e1256198 --- /dev/null +++ b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-display-basic-set-of-metrics.html @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should-display-basic-set-of-metrics</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/comparison/index</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Lines of Code*Complexity*Comments (%)*Duplicated Lines (%)*Issues*Coverage*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-move-and-remove-metrics.html b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-move-and-remove-metrics.html new file mode 100644 index 00000000000..3b89b4af128 --- /dev/null +++ b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-move-and-remove-metrics.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should-move-and-remove-metrics</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/comparison/index</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*Lines of Code*Complexity*Comments (%)*Duplicated Lines (%)*Issues*Coverage*</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>down-0</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*Complexity*Lines of Code*Comments (%)*Duplicated Lines (%)*Issues*Coverage*</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>up-5</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*Complexity*Lines of Code*Comments (%)*Duplicated Lines (%)*Coverage*Issues*</td> +</tr> +<tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*%*</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>del-m-2</td> + <td></td> +</tr> +<tr> + <td>clickAndWait</td> + <td>del-m-2</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*Complexity*Lines of Code*Coverage*Issues*</td> +</tr> +<tr> + <td>assertNotText</td> + <td>comparison-page</td> + <td>*%*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-move-and-remove-projects.html b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-move-and-remove-projects.html new file mode 100644 index 00000000000..f7d71dbfd2f --- /dev/null +++ b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-move-and-remove-projects.html @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should-move-and-remove-projects</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/comparison/index</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>new_resource</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>new_resource</td> + <td>project-comparison-test-project</td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>//option[text()='1.0-SNAPSHOT']</td> + <td></td> +</tr> +<tr> + <td>selectAndWait</td> + <td>new_version</td> + <td>1.0-SNAPSHOT</td> +</tr> +<tr> + <td>waitForText</td> + <td>id=content</td> + <td>*ProjectComparisonTest Project*1.0-SNAPSHOT*</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>del-r-0</td> + <td></td> +</tr> +<tr> + <td>assertNotText</td> + <td>id=content</td> + <td>*Sample*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-not-add-differential-metrics.html b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-not-add-differential-metrics.html new file mode 100644 index 00000000000..ff433b66005 --- /dev/null +++ b/tests/src/test/resources/projectComparison/ProjectComparisonTest/should-not-add-differential-metrics.html @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should-not-add-differential-metrics</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/comparison/index</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*Lines of Code*Complexity*Comments (%)*Duplicated Lines (%)*Issues*Coverage*</td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>new_metric</td> + <td></td> + </tr> + <tr> + <td>typeAndWait</td> + <td>new_metric</td> + <td>new_violations</td> + </tr> + <tr> + <td>waitForText</td> + <td>comparison-page</td> + <td>*Lines of Code*Complexity*Comments (%)*Duplicated Lines (%)*Issues*Coverage*</td> + </tr> + <tr> + <td>assertNotText</td> + <td>comparison-page</td> + <td>*New Issues*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/projectSearch/SearchProjectsTest/with-many-rules.xml b/tests/src/test/resources/projectSearch/SearchProjectsTest/with-many-rules.xml new file mode 100644 index 00000000000..366a3ab7576 --- /dev/null +++ b/tests/src/test/resources/projectSearch/SearchProjectsTest/with-many-rules.xml @@ -0,0 +1,43 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>common-xoo</repositoryKey> + <key>InsufficientLineCoverage</key> + <priority>BLOCKER</priority> + <parameters> + <parameter> + <key>minimumLineCoverageRatio</key> + <value>90</value> + </parameter> + </parameters> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityGate/QualityGateOnRatingMeasuresTest/with-many-rules.xml b/tests/src/test/resources/qualityGate/QualityGateOnRatingMeasuresTest/with-many-rules.xml new file mode 100644 index 00000000000..6668eff9096 --- /dev/null +++ b/tests/src/test/resources/qualityGate/QualityGateOnRatingMeasuresTest/with-many-rules.xml @@ -0,0 +1,42 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneBugIssuePerLine</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneVulnerabilityIssuePerModule</key> + <priority>BLOCKER</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityGate/QualityGateUiTest/should-display-alerts-correctly-history-page.html b/tests/src/test/resources/qualityGate/QualityGateUiTest/should-display-alerts-correctly-history-page.html new file mode 100644 index 00000000000..951ae58d38a --- /dev/null +++ b/tests/src/test/resources/qualityGate/QualityGateUiTest/should-display-alerts-correctly-history-page.html @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ SonarQube, open source software quality management tool. + ~ Copyright (C) 2008-2016 SonarSource + ~ mailto:contact AT sonarsource DOT com + ~ + ~ SonarQube is free software; you can redistribute it and/or + ~ modify it under the terms of the GNU Lesser General Public + ~ License as published by the Free Software Foundation; either + ~ version 3 of the License, or (at your option) any later version. + ~ + ~ SonarQube is distributed in the hope that it will be useful, + ~ but WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ Lesser General Public License for more details. + ~ + ~ You should have received a copy of the GNU Lesser General Public License + ~ along with this program; if not, write to the Free Software Foundation, + ~ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + --> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should-display-alerts-correctly-history-page</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">should-display-alerts-correctly-history-page</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/dashboard/index/sample</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=#context-navigation .navbar-admin-link</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>link=History</td> + <td></td> + </tr> + <tr> + <td>clickAndWait</td> + <td>link=History</td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td>//img[@title='Quality Gate Status: Green (was Orange). ']</td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td>//img[@title='Quality Gate Status: Orange. Lines > 5']</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityGate/QualityGateUiTest/should_display_quality_gates_page.html b/tests/src/test/resources/qualityGate/QualityGateUiTest/should_display_quality_gates_page.html new file mode 100644 index 00000000000..b0975df675d --- /dev/null +++ b/tests/src/test/resources/qualityGate/QualityGateUiTest/should_display_quality_gates_page.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ SonarQube, open source software quality management tool. + ~ Copyright (C) 2008-2016 SonarSource + ~ mailto:contact AT sonarsource DOT com + ~ + ~ SonarQube is free software; you can redistribute it and/or + ~ modify it under the terms of the GNU Lesser General Public + ~ License as published by the Free Software Foundation; either + ~ version 3 of the License, or (at your option) any later version. + ~ + ~ SonarQube is distributed in the hope that it will be useful, + ~ but WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ Lesser General Public License for more details. + ~ + ~ You should have received a copy of the GNU Lesser General Public License + ~ along with this program; if not, write to the Free Software Foundation, + ~ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + --> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_display_quality_gates_page</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">should_display_quality_gates_page</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/quality_gates</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-gates-results a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-gates-results a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=quality-gate-conditions</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityGate/notifications/activate_notification_channels.html b/tests/src/test/resources/qualityGate/notifications/activate_notification_channels.html new file mode 100644 index 00000000000..40de82c178a --- /dev/null +++ b/tests/src/test/resources/qualityGate/notifications/activate_notification_channels.html @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>reate_user_with_email</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">create_user_with_email</td> + </tr> + </thead> + <tbody> +<tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>tester</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>tester</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sonar/account/notifications</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>id=global_notifs_NewAlerts_EmailNotificationChannel</td> + <td></td> +</tr> +<tr> + <td>check</td> + <td>id=global_notifs_NewAlerts_EmailNotificationChannel</td> + <td></td> +</tr> +<tr> + <td>clickAndWait</td> + <td>id=submit-notifications</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityGate/notifications/email_configuration.html b/tests/src/test/resources/qualityGate/notifications/email_configuration.html new file mode 100644 index 00000000000..7b43cf8ee03 --- /dev/null +++ b/tests/src/test/resources/qualityGate/notifications/email_configuration.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>email_configuration</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>setTimeout</td> + <td>300000</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/email_configuration</td> + <td></td> + </tr> + <tr> + <td>assertValue</td> + <td>smtp_host</td> + <td>localhost</td> + </tr> + <tr> + <td>type</td> + <td>to_address</td> + <td>test@example.org</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>submit_test</td> + <td></td> + </tr> + <tr> + <td>waitForVisible</td> + <td>info</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityModel/has-hello-tag.xml b/tests/src/test/resources/qualityModel/has-hello-tag.xml new file mode 100644 index 00000000000..88cf4f9273e --- /dev/null +++ b/tests/src/test/resources/qualityModel/has-hello-tag.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>has-tag</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>hello</value> + </parameter> + </parameters> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityModel/one-day-debt-per-file.xml b/tests/src/test/resources/qualityModel/one-day-debt-per-file.xml new file mode 100644 index 00000000000..cdebd7554c9 --- /dev/null +++ b/tests/src/test/resources/qualityModel/one-day-debt-per-file.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-day-debt-per-file</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneDayDebtPerFile</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityModel/one-issue-per-file.xml b/tests/src/test/resources/qualityModel/one-issue-per-file.xml new file mode 100644 index 00000000000..7193ebfd779 --- /dev/null +++ b/tests/src/test/resources/qualityModel/one-issue-per-file.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-file</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityModel/one-issue-per-line.xml b/tests/src/test/resources/qualityModel/one-issue-per-line.xml new file mode 100644 index 00000000000..521adc7e06f --- /dev/null +++ b/tests/src/test/resources/qualityModel/one-issue-per-line.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<profile> + <name>one-issue-per-line</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + </rules> +</profile>
\ No newline at end of file diff --git a/tests/src/test/resources/qualityModel/with-many-rules.xml b/tests/src/test/resources/qualityModel/with-many-rules.xml new file mode 100644 index 00000000000..6668eff9096 --- /dev/null +++ b/tests/src/test/resources/qualityModel/with-many-rules.xml @@ -0,0 +1,42 @@ +<profile> + <name>with-many-rules</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>HasTag</key> + <priority>INFO</priority> + <parameters> + <parameter> + <key>tag</key> + <value>xoo</value> + </parameter> + </parameters> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneBugIssuePerLine</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneVulnerabilityIssuePerModule</key> + <priority>BLOCKER</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityModel/without-type-bug.xml b/tests/src/test/resources/qualityModel/without-type-bug.xml new file mode 100644 index 00000000000..89c92cf10fa --- /dev/null +++ b/tests/src/test/resources/qualityModel/without-type-bug.xml @@ -0,0 +1,26 @@ +<profile> + <name>without-type-bug</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneVulnerabilityIssuePerModule</key> + <priority>BLOCKER</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityModel/without-type-code-smells.xml b/tests/src/test/resources/qualityModel/without-type-code-smells.xml new file mode 100644 index 00000000000..4bbb6f88ed7 --- /dev/null +++ b/tests/src/test/resources/qualityModel/without-type-code-smells.xml @@ -0,0 +1,16 @@ +<profile> + <name>without-type-code-smells</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneBugIssuePerLine</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneVulnerabilityIssuePerModule</key> + <priority>BLOCKER</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityModel/without-type-vulnerability.xml b/tests/src/test/resources/qualityModel/without-type-vulnerability.xml new file mode 100644 index 00000000000..c5fb823bd7c --- /dev/null +++ b/tests/src/test/resources/qualityModel/without-type-vulnerability.xml @@ -0,0 +1,26 @@ +<profile> + <name>without-type-vulnerability</name> + <language>xoo</language> + <rules> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerLine</key> + <priority>MINOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerFile</key> + <priority>MAJOR</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneIssuePerModule</key> + <priority>CRITICAL</priority> + </rule> + <rule> + <repositoryKey>xoo</repositoryKey> + <key>OneBugIssuePerLine</key> + <priority>CRITICAL</priority> + </rule> + </rules> +</profile> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_compare.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_compare.html new file mode 100644 index 00000000000..c2339d690f6 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_compare.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_changelog</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_changelog</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-name a[href^="/profiles/show?key=xoo-sample"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profiles-table-name a[href^="/profiles/show?key=xoo-sample"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-compare</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-profile-comparison .Select</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-profile-comparison .Select-control</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_copy.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_copy.html new file mode 100644 index 00000000000..d2f0a12a8b3 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_copy.html @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-copy</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>css=#copy-profile-name</td> + <td>copied</td> +</tr> +<tr> + <td>click</td> + <td>css=#copy-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*copied*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-rules</td> + <td>*1*Bugs*0*Vulnerabilities*0*Code Smells*1*</td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="copied"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_create.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_create.html new file mode 100644 index 00000000000..7fefabfbd4a --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_create.html @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#quality-profiles-create</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profiles-create</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#create-profile-name</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=#create-profile-form-backup-XooProfileImporter</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>css=#create-profile-name</td> + <td>test</td> +</tr> +<tr> + <td>click</td> + <td>css=#create-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*test*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-rules</td> + <td>*Bugs*0*Vulnerabilities*0*Code Smells*0*</td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-row[data-name="test"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_delete.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_delete.html new file mode 100644 index 00000000000..85e85c0391c --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_delete.html @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-delete</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#delete-profile-submit</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#delete-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementNotPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"]</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_changelog.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_changelog.html new file mode 100644 index 00000000000..8614c2fdab9 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_changelog.html @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_changelog</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_changelog</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=a[href^="/profiles/changelog"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=a[href^="/profiles/changelog"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-profile-changelog-event</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-profile-changelog-event</td> + <td>*System*Activated*Has Tag*Major*tag*xoo*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_list.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_list.html new file mode 100644 index 00000000000..66f83c9af47 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_list.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_display_list</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_list</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name</td> + <td>*Basic*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-projects</td> + <td>*Default*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-rules</td> + <td>*1*</td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-rules a[href^="/coding_rules#qprofile"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=table[data-language="xoo2"] tr[data-name="Basic"] .quality-profiles-table-name</td> + <td>*Basic*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_exporters.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_exporters.html new file mode 100644 index 00000000000..ea8b1d321f1 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_exporters.html @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_projects.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_projects.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-exporters</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-exporters [data-key="XooFakeExporter"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-exporters a[href^="/api/qualityprofiles/export"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_inheritance.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_inheritance.html new file mode 100644 index 00000000000..501ae5b5df8 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_inheritance.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_inheritance.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_inheritance.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-inheritance</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-inheritance-ancestor</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-inheritance-ancestor</td> + <td>*Basic*1*</td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.js-inheritance-current</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-inheritance-current</td> + <td>*sample*1*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_projects.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_projects.html new file mode 100644 index 00000000000..ff38495e318 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_projects.html @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_projects.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_projects.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-projects</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-profile-project</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-profile-project</td> + <td>*Sample*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_rules.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_rules.html new file mode 100644 index 00000000000..eb5ccf3194b --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_display_profile_rules.html @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_profile_rules.html</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_display_profile_rules.html</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-rules</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-rules</td> + <td>*Active*1*Bugs*0*Vulnerabilities*0*Code Smells*1*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_filter_by_language.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_filter_by_language.html new file mode 100644 index 00000000000..cfe5321b816 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_filter_by_language.html @@ -0,0 +1,89 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_filter_by_language</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_filter_by_language</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-language-filter</td> + <td>*All*</td> +</tr> +<tr> + <td>click</td> + <td>css=.js-language-filter</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-language-filter-option[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-language-filter-option[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>waitForElementNotPresent</td> + <td>css=.quality-profiles-table[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-language-filter</td> + <td>*Xoo2*</td> +</tr> +<tr> + <td>open</td> + <td>/profiles?language=xoo2</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table .data[data-language="xoo2"]</td> + <td></td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=.quality-profiles-table[data-language="xoo"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.js-language-filter</td> + <td>*Xoo2*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_open_from_list.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_open_from_list.html new file mode 100644 index 00000000000..de19c00a017 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_open_from_list.html @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>should_open_from_list</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_open_from_list</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="Basic"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-rules</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-inheritance</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-projects</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_rename.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_rename.html new file mode 100644 index 00000000000..dfa3138f8b1 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_rename.html @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">should_create</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-rename</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#rename-profile-name</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>css=#rename-profile-name</td> + <td>new name</td> +</tr> +<tr> + <td>click</td> + <td>css=#rename-profile-submit</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-header</td> + <td>*new name*</td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="new name"] .quality-profiles-table-name a</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_restore.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_restore.html new file mode 100644 index 00000000000..8def7727001 --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_restore.html @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-more-admin-actions</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-more-admin-actions</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profiles-restore</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#restore-profile-backup</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#restore-profile-submit</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_set_default.html b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_set_default.html new file mode 100644 index 00000000000..6306820ba6a --- /dev/null +++ b/tests/src/test/resources/qualityProfile/QualityProfilesUiTest/should_set_default.html @@ -0,0 +1,90 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_create</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<tbody> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=table[data-language="xoo"] tr[data-name="sample"] .quality-profiles-table-name a</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.quality-profile-header .dropdown-toggle</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=#quality-profile-set-as-default</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.quality-profile-projects</td> + <td>*Default*</td> +</tr> +<tr> + <td>open</td> + <td>/profiles</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.quality-profiles-table-row[data-name="sample"]</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.quality-profiles-table-row[data-name="sample"] .quality-profiles-table-projects</td> + <td>*Default*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/serverSystem/HttpsTest/keystore.jks b/tests/src/test/resources/serverSystem/HttpsTest/keystore.jks Binary files differnew file mode 100644 index 00000000000..13234b49dc2 --- /dev/null +++ b/tests/src/test/resources/serverSystem/HttpsTest/keystore.jks diff --git a/tests/src/test/resources/serverSystem/HttpsTest/keystore.jks.txt b/tests/src/test/resources/serverSystem/HttpsTest/keystore.jks.txt new file mode 100644 index 00000000000..ce4a4adfc39 --- /dev/null +++ b/tests/src/test/resources/serverSystem/HttpsTest/keystore.jks.txt @@ -0,0 +1,3 @@ +keytool -genkey -alias tests -keyalg RSA -keystore keystore.jks +keystore password: thepassword +key password for <tests>: thetests
\ No newline at end of file diff --git a/tests/src/test/resources/serverSystem/ServerSystemTest/derby-warning.html b/tests/src/test/resources/serverSystem/ServerSystemTest/derby-warning.html new file mode 100644 index 00000000000..c2e13c56aad --- /dev/null +++ b/tests/src/test/resources/serverSystem/ServerSystemTest/derby-warning.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>derby-warning</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">derby-warning</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/</td> + <td></td> + </tr> + <tr> + <td>assertElementPresent</td> + <td>evaluation_warning</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>footer</td> + <td>glob:*evaluation*</td> + </tr> + + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/serverSystem/ServerSystemTest/hide-jdbc-settings.html b/tests/src/test/resources/serverSystem/ServerSystemTest/hide-jdbc-settings.html new file mode 100644 index 00000000000..311d000f9cd --- /dev/null +++ b/tests/src/test/resources/serverSystem/ServerSystemTest/hide-jdbc-settings.html @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ SonarQube, open source software quality management tool. + ~ Copyright (C) 2008-2016 SonarSource + ~ mailto:contact AT sonarsource DOT com + ~ + ~ SonarQube is free software; you can redistribute it and/or + ~ modify it under the terms of the GNU Lesser General Public + ~ License as published by the Free Software Foundation; either + ~ version 3 of the License, or (at your option) any later version. + ~ + ~ SonarQube is distributed in the hope that it will be useful, + ~ but WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ Lesser General Public License for more details. + ~ + ~ You should have received a copy of the GNU Lesser General Public License + ~ along with this program; if not, write to the Free Software Foundation, + ~ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + --> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>hide-jdbc-settings</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">hide-jdbc-settings</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/setup/index</td> + <td></td> + </tr> + <tr> + <td>assertTextNotPresent</td> + <td>jdbc:</td> + <td></td> + </tr> + + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/serverSystem/ServerSystemTest/incompatible-plugin-1.0.jar b/tests/src/test/resources/serverSystem/ServerSystemTest/incompatible-plugin-1.0.jar Binary files differnew file mode 100644 index 00000000000..541131c5093 --- /dev/null +++ b/tests/src/test/resources/serverSystem/ServerSystemTest/incompatible-plugin-1.0.jar diff --git a/tests/src/test/resources/serverSystem/ServerSystemTest/system_info.html b/tests/src/test/resources/serverSystem/ServerSystemTest/system_info.html new file mode 100644 index 00000000000..e304586c59c --- /dev/null +++ b/tests/src/test/resources/serverSystem/ServerSystemTest/system_info.html @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>system_info</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">system_info</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/system/index</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Official Distribution*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Database Version*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Pool Active Connections*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Start Time*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*Processors*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*java.class.path*java.specification.version*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/serverSystem/ServerSystemTest/url_ending_by_jsp.html b/tests/src/test/resources/serverSystem/ServerSystemTest/url_ending_by_jsp.html new file mode 100644 index 00000000000..12056550fc2 --- /dev/null +++ b/tests/src/test/resources/serverSystem/ServerSystemTest/url_ending_by_jsp.html @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ SonarQube, open source software quality management tool. + ~ Copyright (C) 2008-2016 SonarSource + ~ mailto:contact AT sonarsource DOT com + ~ + ~ SonarQube is free software; you can redistribute it and/or + ~ modify it under the terms of the GNU Lesser General Public + ~ License as published by the Free Software Foundation; either + ~ version 3 of the License, or (at your option) any later version. + ~ + ~ SonarQube is distributed in the hope that it will be useful, + ~ but WITHOUT ANY WARRANTY; without even the implied warranty of + ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + ~ Lesser General Public License for more details. + ~ + ~ You should have received a copy of the GNU Lesser General Public License + ~ along with this program; if not, write to the Free Software Foundation, + ~ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + --> + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/dashboard/index/myproject.jsp</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=#content</td> + <td></td> + </tr> +</table> +</body> +</html> diff --git a/tests/src/test/resources/settings/SettingsTest/sonar-secret.txt b/tests/src/test/resources/settings/SettingsTest/sonar-secret.txt new file mode 100644 index 00000000000..65b98c522da --- /dev/null +++ b/tests/src/test/resources/settings/SettingsTest/sonar-secret.txt @@ -0,0 +1 @@ +0PZz+G+f8mjr3sPn4+AhHg==
\ No newline at end of file diff --git a/tests/src/test/resources/sourceCode/EncodingTest/japanese_sources.html b/tests/src/test/resources/sourceCode/EncodingTest/japanese_sources.html new file mode 100644 index 00000000000..d873fba3939 --- /dev/null +++ b/tests/src/test/resources/sourceCode/EncodingTest/japanese_sources.html @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>japanese_sources</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">japanese_sources</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/component/index?id=japanese-charset%3Asrc%2Fmain%2Fxoo%2Fcom%2Ftest%2FAppDuplication.xoo</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.source-viewer</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.source-table</td> + <td>glob:*public class AppDuplication*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.source-table</td> + <td>glob:*証明書パス構築に失敗しました。*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/HighlightingTest/symbol-usages-highlighting.html b/tests/src/test/resources/sourceCode/HighlightingTest/symbol-usages-highlighting.html new file mode 100644 index 00000000000..42e1fc154f2 --- /dev/null +++ b/tests/src/test/resources/sourceCode/HighlightingTest/symbol-usages-highlighting.html @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>highlight-symbol-usages</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">highlight-symbol-usages</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.source-line</td> + <td></td> +</tr> +<tr> + <td>waitForXpathCount</td> + <td>//span[contains(@class, 'sym')]</td> + <td>3</td> +</tr> +<tr> + <td>waitForXpathCount</td> + <td>//span[contains(@class, 'sym highlighted')]</td> + <td>0</td> +</tr> +<tr> + <td>click</td> + <td>//span[contains(@class, 'sym')][2]</td> + <td></td> +</tr> +<tr> + <td>waitForXpathCount</td> + <td>//span[contains(@class, 'sym highlighted')]</td> + <td>2</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting-v1.html b/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting-v1.html new file mode 100644 index 00000000000..7a1e36cf816 --- /dev/null +++ b/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting-v1.html @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>java-syntax-highlighting</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">highlight-syntax-v1</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.source-line</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">package</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">public</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">class</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <!-- Here class is wrong and will be fixed during next analysis --> + <td>glob:*<span class="s">return</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="s">"hello"</span>*</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting-v2.html b/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting-v2.html new file mode 100644 index 00000000000..7f473dd9e43 --- /dev/null +++ b/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting-v2.html @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>java-syntax-highlighting</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">highlight-syntax-v2</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.source-line</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">package</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">public</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">class</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">return</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="s">"hello"</span>*</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting.html b/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting.html new file mode 100644 index 00000000000..53e4602a978 --- /dev/null +++ b/tests/src/test/resources/sourceCode/HighlightingTest/syntax-highlighting.html @@ -0,0 +1,54 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>java-syntax-highlighting</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">highlight-syntax</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/component/index?id=sample-with-highlighting%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.source-line</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">package</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">public</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">class</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="k">return</span>*</td> + <td></td> + </tr> + <tr> + <td>verifyHtmlSource</td> + <td>glob:*<span class="s">"hello"</span>*</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/ProjectCodeTest/code_page_should_expand_root_dir.html b/tests/src/test/resources/sourceCode/ProjectCodeTest/code_page_should_expand_root_dir.html new file mode 100644 index 00000000000..c9737d5fe25 --- /dev/null +++ b/tests/src/test/resources/sourceCode/ProjectCodeTest/code_page_should_expand_root_dir.html @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>code_page_should_expand_root_dir</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">code_page_should_expand_root_dir</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/code?id=project-for-code-root-dir</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*Hello.xoo*src/main/xoo/sample*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/ProjectCodeTest/permalink.html b/tests/src/test/resources/sourceCode/ProjectCodeTest/permalink.html new file mode 100644 index 00000000000..69364a69079 --- /dev/null +++ b/tests/src/test/resources/sourceCode/ProjectCodeTest/permalink.html @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>test_project_code_page</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">test_project_code_page</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/code?id=project-for-code&selected=project-for-code%3Asrc%2Fmain%2Fxoo%2Fsample%2FSample.xoo</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*public class Sample*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.code-breadcrumbs</td> + <td>*Project For Code*src/main/xoo/sample*Sample.xoo*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/ProjectCodeTest/search.html b/tests/src/test/resources/sourceCode/ProjectCodeTest/search.html new file mode 100644 index 00000000000..1594ee28cd5 --- /dev/null +++ b/tests/src/test/resources/sourceCode/ProjectCodeTest/search.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>test_project_code_page</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">test_project_code_page</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/code?id=project-for-code</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*Project For Code*13*0*0*0.0%*</td> +</tr> +<tr> + <td>type</td> + <td>css=.search-box-input</td> + <td>xoo</td> +</tr> +<tr> + <td>click</td> + <td>css=.search-box-submit</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*Sample.xoo*</td> +</tr> +<tr> + <td>click</td> + <td>css=.code-name-cell a</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*public class Sample*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.code-breadcrumbs</td> + <td>*Project For Code*src/main/xoo/sample*Sample.xoo*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/sourceCode/ProjectCodeTest/test_project_code_page.html b/tests/src/test/resources/sourceCode/ProjectCodeTest/test_project_code_page.html new file mode 100644 index 00000000000..9c6b163fa44 --- /dev/null +++ b/tests/src/test/resources/sourceCode/ProjectCodeTest/test_project_code_page.html @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>test_project_code_page</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">test_project_code_page</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/code?id=project-for-code</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*Project For Code*13*0*0*0.0%*</td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*src/main/xoo/sample*</td> +</tr> +<tr> + <td>click</td> + <td>css=.code-name-cell a</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=#content</td> + <td>*Sample.xoo*</td> +</tr> +<tr> + <td>click</td> + <td>css=.code-breadcrumbs a</td> + <td></td> +</tr> +<tr> + <td>waitForNotText</td> + <td>css=#content</td> + <td>*Sample.xoo*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/test/CoverageTest/it_coverage-expected.json b/tests/src/test/resources/test/CoverageTest/it_coverage-expected.json new file mode 100644 index 00000000000..521b372b6ea --- /dev/null +++ b/tests/src/test/resources/test/CoverageTest/it_coverage-expected.json @@ -0,0 +1,84 @@ +{ + "sources": [ + { + "line": 1, + "code": "package sample;" + }, + { + "line": 2, + "code": "" + }, + { + "line": 3, + "code": "public class Sample {" + }, + { + "line": 4, + "code": "\t" + }, + { + "line": 5, + "code": "\tpublic Sample(int i) {" + }, + { + "line": 6, + "code": "\t\tint j = i++;", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 7, + "code": "\t}" + }, + { + "line": 8, + "code": "\t" + }, + { + "line": 9, + "code": "\tprivate String myMethod() {" + }, + { + "line": 10, + "code": "\t\tif (foo == bar) {", + "lineHits": 0, + "utLineHits": 0, + "conditions": 2, + "utConditions": 2, + "coveredConditions": 1, + "utCoveredConditions": 1 + }, + { + "line": 11, + "code": "\t\t\treturn \"hello\";", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 12, + "code": "\t\t} else {" + }, + { + "line": 13, + "code": "\t\t\tthrow new IllegalStateException();", + "lineHits": 0, + "utLineHits": 0 + }, + { + "line": 14, + "code": "\t\t}" + }, + { + "line": 15, + "code": "\t}" + }, + { + "line": 16, + "code": "}" + }, + { + "line": 17, + "code": "" + } + ] +} diff --git a/tests/src/test/resources/test/CoverageTest/unit_test_coverage-expected.json b/tests/src/test/resources/test/CoverageTest/unit_test_coverage-expected.json new file mode 100644 index 00000000000..c2f25a610a9 --- /dev/null +++ b/tests/src/test/resources/test/CoverageTest/unit_test_coverage-expected.json @@ -0,0 +1,84 @@ +{ + "sources":[ + { + "line": 1, + "code": "package sample;", + }, + { + "line": 2, + "code": "", + }, + { + "line": 3, + "code": "public class Sample {", + }, + { + "line": 4, + "code": "\t", + }, + { + "line": 5, + "code": "\tpublic Sample(int i) {", + }, + { + "line": 6, + "code": "\t\tint j = i++;", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 7, + "code": "\t}", + }, + { + "line": 8, + "code": "\t", + }, + { + "line": 9, + "code": "\tprivate String myMethod() {", + }, + { + "line": 10, + "code": "\t\tif (foo == bar) {", + "lineHits": 0, + "utLineHits": 0, + "conditions": 2, + "utConditions": 2, + "coveredConditions": 1, + "utCoveredConditions": 1 + }, + { + "line": 11, + "code": "\t\t\treturn \"hello\";", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 12, + "code": "\t\t} else {", + }, + { + "line": 13, + "code": "\t\t\tthrow new IllegalStateException();", + "lineHits": 0, + "utLineHits": 0 + }, + { + "line": 14, + "code": "\t\t}", + }, + { + "line": 15, + "code": "\t}", + }, + { + "line": 16, + "code": "}", + }, + { + "line": 17, + "code": "", + } + ] +} diff --git a/tests/src/test/resources/test/CoverageTest/unit_test_coverage_no_condition-expected.json b/tests/src/test/resources/test/CoverageTest/unit_test_coverage_no_condition-expected.json new file mode 100644 index 00000000000..aabf73102ff --- /dev/null +++ b/tests/src/test/resources/test/CoverageTest/unit_test_coverage_no_condition-expected.json @@ -0,0 +1,80 @@ +{ + "sources": [ + { + "line": 1, + "code": "package sample;", + }, + { + "line": 2, + "code": "", + }, + { + "line": 3, + "code": "public class Sample {", + }, + { + "line": 4, + "code": "\t", + }, + { + "line": 5, + "code": "\tpublic Sample(int i) {", + }, + { + "line": 6, + "code": "\t\tint j = i++;", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 7, + "code": "\t}", + }, + { + "line": 8, + "code": "\t", + }, + { + "line": 9, + "code": "\tprivate String myMethod() {", + }, + { + "line": 10, + "code": "\t\tif (foo == bar) {", + "lineHits": 0, + "utLineHits": 0 + }, + { + "line": 11, + "code": "\t\t\treturn \"hello\";", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 12, + "code": "\t\t} else {", + }, + { + "line": 13, + "code": "\t\t\tthrow new IllegalStateException();", + "lineHits": 0, + "utLineHits": 0 + }, + { + "line": 14, + "code": "\t\t}", + }, + { + "line": 15, + "code": "\t}", + }, + { + "line": 16, + "code": "}", + }, + { + "line": 17, + "code": "", + } + ] +} diff --git a/tests/src/test/resources/test/CoverageTest/ut_and_it_coverage-expected.json b/tests/src/test/resources/test/CoverageTest/ut_and_it_coverage-expected.json new file mode 100644 index 00000000000..d2b26d19c61 --- /dev/null +++ b/tests/src/test/resources/test/CoverageTest/ut_and_it_coverage-expected.json @@ -0,0 +1,85 @@ +{ + "sources": [ + { + "line": 1, + "code": "package sample;" + }, + { + "line": 2, + "code": "" + }, + { + "line": 3, + "code": "public class Sample {" + }, + { + "line": 4, + "code": "\t" + }, + { + "line": 5, + "code": "\tpublic Sample(int i) {" + }, + { + "line": 6, + "code": "\t\tint j = i++;", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 7, + "code": "\t}" + }, + { + "line": 8, + "code": "\t" + }, + { + "line": 9, + "code": "\tprivate String myMethod() {" + }, + { + "line": 10, + "code": "\t\tif (foo == bar && biz > 1) {", + "lineHits": 0, + "utLineHits": 0, + "conditions": 4, + "utConditions": 4, + "coveredConditions": 2, + "utCoveredConditions": 2 + }, + { + "line": 11, + "code": "\t\t\treturn \"hello\";", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 12, + "code": "\t\t} else {" + }, + { + "line": 13, + "code": "\t\t\tthrow new IllegalStateException();", + "lineHits": 1, + "utLineHits": 1 + }, + { + "line": 14, + "code": "\t\t}" + }, + { + "line": 15, + "code": "\t}" + }, + { + "line": 16, + "code": "}" + }, + { + "line": 17, + "code": "" + } + ] + +} diff --git a/tests/src/test/resources/test/CoverageTrackingTest/covered_files-expected.json b/tests/src/test/resources/test/CoverageTrackingTest/covered_files-expected.json new file mode 100644 index 00000000000..5dda4f3dd11 --- /dev/null +++ b/tests/src/test/resources/test/CoverageTrackingTest/covered_files-expected.json @@ -0,0 +1,14 @@ +{ + "files": [ + { + "key": "sample-with-tests:src/main/xoo/sample/Sample.xoo", + "longName": "src/main/xoo/sample/Sample.xoo", + "coveredLines": 2 + }, + { + "key": "sample-with-tests:src/main/xoo/sample/Sample2.xoo", + "longName": "src/main/xoo/sample/Sample2.xoo", + "coveredLines": 1 + } + ] +} diff --git a/tests/src/test/resources/test/CoverageTrackingTest/tests-expected.json b/tests/src/test/resources/test/CoverageTrackingTest/tests-expected.json new file mode 100644 index 00000000000..121e6753074 --- /dev/null +++ b/tests/src/test/resources/test/CoverageTrackingTest/tests-expected.json @@ -0,0 +1,30 @@ +{ + "tests": [ + { + "name": "success", + "status": "OK", + "durationInMs": 4, + "coveredLines": 3 + }, + { + "name": "error", + "status": "ERROR", + "durationInMs": 2, + "coveredLines": 0, + "message": "Error", + "stacktrace": "The stack" + }, + { + "name": "failure", + "status": "FAILURE", + "durationInMs": 2, + "coveredLines": 1, + "message": "Failure" + }, + { + "name": "skipped", + "status": "SKIPPED", + "coveredLines": 0 + } + ] +} diff --git a/tests/src/test/resources/test/TestExecutionTest/expected.json b/tests/src/test/resources/test/TestExecutionTest/expected.json new file mode 100644 index 00000000000..843d28f5284 --- /dev/null +++ b/tests/src/test/resources/test/TestExecutionTest/expected.json @@ -0,0 +1,31 @@ +{ + "tests": [ + { + "name": "success", + "status": "OK", + "durationInMs": 4, + "coveredLines": 0 + }, + { + "name": "error", + "status": "ERROR", + "durationInMs": 2, + "coveredLines": 0, + "message": "Error", + "stacktrace": "The stack" + }, + { + "name": "failure", + "status": "FAILURE", + "durationInMs": 2, + "coveredLines": 0, + "message": "Failure" + }, + { + "name": "skipped", + "status": "SKIPPED", + "coveredLines": 0, + "durationInMs": 0 + } + ] +} diff --git a/tests/src/test/resources/ui/UiExtensionsTest/static-files.html b/tests/src/test/resources/ui/UiExtensionsTest/static-files.html new file mode 100644 index 00000000000..0acd31cc1fa --- /dev/null +++ b/tests/src/test/resources/ui/UiExtensionsTest/static-files.html @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>static-files</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/static/uiextensionsplugin/file.html</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>//body</td> + <td>Text from static resource</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/updateCenter/UpdateCenterTest/update-center.properties b/tests/src/test/resources/updateCenter/UpdateCenterTest/update-center.properties new file mode 100644 index 00000000000..5882d43188f --- /dev/null +++ b/tests/src/test/resources/updateCenter/UpdateCenterTest/update-center.properties @@ -0,0 +1,62 @@ +# THIS FILE IS USED BY THE UPDATE CENTER +# DO NOT REMOVE OR RENAME +# +# Note : prefix all : by \ +# + +publicVersions=3.0,100.0 + +3.0.description=Encryption of database password, TimeMachine available as widgets, New algorithm for tracking violations, 40 bugs and 40 improvements +3.0.downloadUrl=http\://dist.sonar.codehaus.org/sonar-3.0.zip +3.0.changelogUrl=http\://www.sonarsource.org/downloads/#3.0 +3.0.date=2012-04-17 + +100.0.description=Hundred dot zero! +100.0.downloadUrl=http\://dist.sonar.codehaus.org/sonar-100.0.zip +100.0.changelogUrl=http\://www.sonarsource.org/downloads/#100.0 +100.0.date=2112-06-13 + + +plugins=fake,abap + +#-------------------------------------------------------------------------------------------------------------------------- +abap.homepageUrl=http\://www.sonarsource.com/products/plugins/languages/abap/ +abap.name=ABAP +abap.category=Additional Languages +abap.publicVersions=1.0,1.0.1,1.1,2.0.1 + +abap.1.0.description=Initial version of the product +abap.1.0.sqVersions=2.7,2.8,2.9,2.10,2.11,2.12,2.13,2.13.1,2.14,3.0,3.0.1,3.1,3.1.1 +abap.1.0.downloadUrl= +abap.1.0.date=2011-07-29 + +abap.1.0.1.description=Adjust computation of certain metrics +abap.1.0.1.sqVersions=2.7,2.8,2.9,2.10,2.11,2.12,2.13,2.13.1,2.14,3.0,3.0.1,3.1,3.1.1 +abap.1.0.1.downloadUrl= +abap.1.0.1.date=2011-08-28 + +abap.1.1.description=Adjust computation of certain metrics +abap.1.1.sqVersions=2.7,2.8,2.9,2.10,2.11,2.12,2.13,2.13.1,2.14,3.0,3.0.1,3.1,3.1.1 +abap.1.1.downloadUrl= +abap.1.1.date=2012-01-05 + +abap.2.0.1.description=This new version provides an ABAP source code extractor, adds 5 new rules and improves others +abap.2.0.1.sqVersions=3.2,3.3,3.4,3.5,3.6,3.7,3.7.1,3.7.2,3.7.3,3.7.4,3.7.5,3.7.6,3.7.7,4.0,4.0.1,4.1,4.2,4.3,4.4,4.5,4.6,4.7,5.0,5.1,5.2,5.3,5.4,5.5,5.6,5.7,6.0,6.1,6.2,6.3,6.4,6.5,6.6 +abap.2.0.1.downloadUrl= +abap.2.0.1.date=2012-06-25 + +#-------------------------------------------------------------------------------------------------------------------------- +fake.category=Additional Metrics +fake.publicVersions=1.0,1.1 +fake.name=Fake +fake.description=Fake plugin for integration tests + +fake.1.0.description=Initial release +fake.1.0.sqVersions=3.2,3.3,3.4,3.5,3.6,3.7 +fake.1.0.downloadUrl= +fake.1.0.date=2011-05-06 + +fake.1.1.description=Support sonarqube v100.0 +fake.1.1.sqVersions=3.2,3.3,3.4,3.5,3.6,3.7,3.7.1,3.7.2,3.7.3,3.7.4,3.7.5,3.7.6,3.7.7,4.0,4.0.1,4.1,4.2,4.3,4.4,4.5,4.6,4.7,5.0,5.1,5.2,5.3,5.4,5.5,5.6,5.7,6.0,6.1,6.2,6.3,6.4,6.5,6.6,100.0 +fake.1.1.downloadUrl= +fake.1.1.date=2012-04-27 diff --git a/tests/src/test/resources/updateCenter/installed-plugins.html b/tests/src/test/resources/updateCenter/installed-plugins.html new file mode 100644 index 00000000000..d1986f6f897 --- /dev/null +++ b/tests/src/test/resources/updateCenter/installed-plugins.html @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>installed-plugins</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/updatecenter</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Fake*</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=update-center-plugins</td> + <td>*Fake*1.0-SNAPSHOT*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/BaseIdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html b/tests/src/test/resources/user/BaseIdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html new file mode 100644 index 00000000000..b62763fb7c9 --- /dev/null +++ b/tests/src/test/resources/user/BaseIdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>fail_to_authenticate_when_not_allowed_to_sign_up</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake base identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*</td> + </tr> + <tr> + <td>assertText</td> + <td>bd</td> + <td>*Reason : A functional error has happened*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/BaseIdentityProviderTest/display_unauthorized_page_when_authentication_failed.html b/tests/src/test/resources/user/BaseIdentityProviderTest/display_unauthorized_page_when_authentication_failed.html new file mode 100644 index 00000000000..47a19a2df41 --- /dev/null +++ b/tests/src/test/resources/user/BaseIdentityProviderTest/display_unauthorized_page_when_authentication_failed.html @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>display_unauthorized_page_when_authentication_failed</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake base identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/BaseIdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html b/tests/src/test/resources/user/BaseIdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html new file mode 100644 index 00000000000..40c300bd701 --- /dev/null +++ b/tests/src/test/resources/user/BaseIdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>fail_to_authenticate_when_not_allowed_to_sign_up</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake base identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*Reason : 'fake-base-id-provider' users are not allowed to sign up*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/BaseIdentityProviderTest/fail_when_email_already_exists.html b/tests/src/test/resources/user/BaseIdentityProviderTest/fail_when_email_already_exists.html new file mode 100644 index 00000000000..b6f7e600ac3 --- /dev/null +++ b/tests/src/test/resources/user/BaseIdentityProviderTest/fail_when_email_already_exists.html @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>fail_when_email_already_exists</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake base identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*</td> + </tr> + <tr> + <td>assertText</td> + <td>bd</td> + <td>*You can't sign up because email 'john@email.com' is already used by an existing user. This means that you probably already registered with another account*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/ExternalAuthenticationTest/create-and-delete-user.html b/tests/src/test/resources/user/ExternalAuthenticationTest/create-and-delete-user.html new file mode 100644 index 00000000000..f7d0dd6ffb6 --- /dev/null +++ b/tests/src/test/resources/user/ExternalAuthenticationTest/create-and-delete-user.html @@ -0,0 +1,144 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Strict/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http:/selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>create-and-delete-users</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">create-and-delete-users</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/users</td> + <td></td> +</tr> +<tr> + <td>store</td> + <td>javascript{new Date().getTime()}</td> + <td>userId</td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Create User*</td> +</tr> +<tr> + <td>click</td> + <td>id=users-create</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>id=create-user-form</td> + <td>*Create User*</td> +</tr> +<tr> + <td>type</td> + <td>id=create-user-login</td> + <td>${userId}</td> +</tr> +<tr> + <td>type</td> + <td>id=create-user-name</td> + <td>Name of ${userId}</td> +</tr> +<tr> + <td>type</td> + <td>id=create-user-password</td> + <td>password</td> +</tr> +<tr> + <td>click</td> + <td>id=create-user-submit</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>id=users-list</td> + <td>*${userId}*</td> +</tr> +<tr> + <td>click</td> + <td>css=[data-login="${userId}"] .js-user-deactivate</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>id=deactivate-user-form</td> + <td>*${userId}*</td> +</tr> +<tr> + <td>click</td> + <td>id=deactivate-user-submit</td> + <td></td> +</tr> +<tr> + <td>waitForNotText</td> + <td>id=users-list</td> + <td>*${userId}*</td> +</tr> +<tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>tester</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>password</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td>deactivate-user-form</td> +</tr> +<tr> + <td>waitForText</td> + <td>login_form</td> + <td>*Authentication failed*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/ExternalAuthenticationTest/external-user-details.html b/tests/src/test/resources/user/ExternalAuthenticationTest/external-user-details.html new file mode 100644 index 00000000000..b2d712f516c --- /dev/null +++ b/tests/src/test/resources/user/ExternalAuthenticationTest/external-user-details.html @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Strict/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http:/selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>external_user_details</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">external_user_details</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>tester</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>123</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/account/</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>login</td> + <td>tester</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=name</td> + <td>Tester Testerovich</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=email</td> + <td>tester@example.org</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/ExternalAuthenticationTest/external-user-details2.html b/tests/src/test/resources/user/ExternalAuthenticationTest/external-user-details2.html new file mode 100644 index 00000000000..d18ae08afb9 --- /dev/null +++ b/tests/src/test/resources/user/ExternalAuthenticationTest/external-user-details2.html @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Strict/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http:/selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>external_user_details</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">external_user_details</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>tester</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>123</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/account</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>login</td> + <td>tester</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=name</td> + <td>Tester2 Testerovich</td> + </tr> + <tr> + <td>waitForText</td> + <td>id=email</td> + <td>tester2@example.org</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/ExternalAuthenticationTest/system-info.html b/tests/src/test/resources/user/ExternalAuthenticationTest/system-info.html new file mode 100644 index 00000000000..1daf46d205d --- /dev/null +++ b/tests/src/test/resources/user/ExternalAuthenticationTest/system-info.html @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-/W3C/DTD XHTML 1.0 Strict/EN" "http:/www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http:/www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http:/selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>external_user_details</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">external_user_details</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/system</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>id=content</td> + <td>*External User Authentication*FakeRealm*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/allow_users_to_sign_up.html b/tests/src/test/resources/user/LocalAuthenticationTest/allow_users_to_sign_up.html new file mode 100644 index 00000000000..dab0c303ea5 --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/allow_users_to_sign_up.html @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>allow_users_to_sign_up</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*Not a member*</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>link=Sign up</td> + <td></td> + </tr> + <tr> + <td>type</td> + <td>id=user_login</td> + <td>signuplogin</td> + </tr> + <tr> + <td>type</td> + <td>id=user_name</td> + <td>SignUpName</td> + </tr> + <tr> + <td>type</td> + <td>id=user_password</td> + <td>password</td> + </tr> + <tr> + <td>type</td> + <td>id=user_password_confirmation</td> + <td>password</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>global-navigation</td> + <td>*Log in*</td> + </tr> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>signuplogin</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>password</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.navbar</td> + <td>*SignUpName*</td> + </tr> + <tr> + <td>click</td> + <td>Link=SignUpName</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>css=.navbar</td> + <td>*Log out*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/force-authentication.html b/tests/src/test/resources/user/LocalAuthenticationTest/force-authentication.html new file mode 100644 index 00000000000..4c5a751665d --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/force-authentication.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>force-authentication</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">force-authentication</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/login_successful.html b/tests/src/test/resources/user/LocalAuthenticationTest/login_successful.html new file mode 100644 index 00000000000..18da805f66b --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/login_successful.html @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>login_successful</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">login_successful</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>click</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>assertTextPresent</td> + <td>Log out</td> + <td></td> + </tr> + <tr> + <td>clickAndWait</td> + <td>link=Log out</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>link=Log in</td> + <td>Log in</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/login_wrong_password.html b/tests/src/test/resources/user/LocalAuthenticationTest/login_wrong_password.html new file mode 100644 index 00000000000..dc66db8ee9b --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/login_wrong_password.html @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>login_wrong_password</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>wrong</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>assertTextPresent</td> + <td>Authentication failed</td> + <td></td> + </tr> + + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_login_when_not_enough_privilege.html b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_login_when_not_enough_privilege.html new file mode 100644 index 00000000000..9b5a1645ace --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_login_when_not_enough_privilege.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>redirect-to-original-url-after-direct-login</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>simple-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>password</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/settings</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> +</tr> +<tr> + <td>assertText</td> + <td>content</td> + <td>*You are not authorized to access this page. Please log in with more privileges and try again.*</td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_direct_login.html b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_direct_login.html new file mode 100644 index 00000000000..c6519726f27 --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_direct_login.html @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>redirect-to-original-url-after-direct-login</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>global-navigation</td> + <td>*Log in*</td> + </tr> + <tr> + <td>open</td> + <td>/settings?category=general</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>assertLocation</td> + <td>glob:*/settings?category=general*</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html new file mode 100644 index 00000000000..aecfd8af765 --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_after_indirect_login.html @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>global-navigation</td> + <td>*Log in*</td> + </tr> + <tr> + <td>open</td> + <td>/settings</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>assertLocation</td> + <td>*/settings</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_with_parameters_after_direct_login.html b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_with_parameters_after_direct_login.html new file mode 100644 index 00000000000..5359e3308e0 --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/redirect_to_original_url_with_parameters_after_direct_login.html @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>global-navigation</td> + <td>*Log in*</td> + </tr> + <tr> + <td>open</td> + <td>/projects?gate=OK&reliability=1&security=1</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>global-navigation</td> + <td>*Log in*</td> + </tr> + <tr> + <td>click</td> + <td>link=Log in</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> + </tr> + <tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> + </tr> + <tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> + </tr> + <tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> + </tr> + <tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> + </tr> + <tr> + <td>assertLocation</td> + <td>*/projects?gate=OK&reliability=1&security=1</td> + <td></td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/LocalAuthenticationTest/should_not_be_unlogged_when_going_to_login_page.html b/tests/src/test/resources/user/LocalAuthenticationTest/should_not_be_unlogged_when_going_to_login_page.html new file mode 100644 index 00000000000..af5b4362f0e --- /dev/null +++ b/tests/src/test/resources/user/LocalAuthenticationTest/should_not_be_unlogged_when_going_to_login_page.html @@ -0,0 +1,64 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>redirect-to-original-url-after-direct-login</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>simple-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>password</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>content</td> + <td>*Log In to SonarQube*</td> +</tr> +<tr> + <td>open</td> + <td>/</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/MyAccountPageTest/should_display_no_projects.html b/tests/src/test/resources/user/MyAccountPageTest/should_display_no_projects.html new file mode 100644 index 00000000000..2c2f0f026db --- /dev/null +++ b/tests/src/test/resources/user/MyAccountPageTest/should_display_no_projects.html @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_no_projects</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">should_display_no_projects</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>account-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>password</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/account/projects/</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=#account-projects</td> + <td></td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=.account-projects-list</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/MyAccountPageTest/should_display_projects.html b/tests/src/test/resources/user/MyAccountPageTest/should_display_projects.html new file mode 100644 index 00000000000..b199152803f --- /dev/null +++ b/tests/src/test/resources/user/MyAccountPageTest/should_display_projects.html @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>should_display_projects</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">should_display_projects</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>account-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>password</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/account/projects/</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.account-project-card</td> + <td></td> +</tr> +<tr> + <td>assertText</td> + <td>css=.account-project-name</td> + <td>*Sample*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=.account-project-quality-gate</td> + <td>*Passed*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=.account-project-key</td> + <td>*sample*</td> +</tr> +<tr> + <td>assertText</td> + <td>css=.account-project-description</td> + <td>*Description of a project*</td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.account-project-analysis</td> + <td></td> +</tr> +<tr> + <td>assertElementPresent</td> + <td>css=.account-project-links a[href="http://example.com"]</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/OAuth2IdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html b/tests/src/test/resources/user/OAuth2IdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html new file mode 100644 index 00000000000..6a38ed69063 --- /dev/null +++ b/tests/src/test/resources/user/OAuth2IdentityProviderTest/display_message_in_ui_but_not_in_log_when_unauthorized_exception.html @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>fail_to_authenticate_when_not_allowed_to_sign_up</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake oauth2 identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*</td> + </tr> + <tr> + <td>assertText</td> + <td>bd</td> + <td>*Reason : A functional error has happened*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/OAuth2IdentityProviderTest/display_unauthorized_page_when_authentication_failed.html b/tests/src/test/resources/user/OAuth2IdentityProviderTest/display_unauthorized_page_when_authentication_failed.html new file mode 100644 index 00000000000..b01d24aad4c --- /dev/null +++ b/tests/src/test/resources/user/OAuth2IdentityProviderTest/display_unauthorized_page_when_authentication_failed.html @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>display_unauthorized_page_when_authentication_failed</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake oauth2 identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/OAuth2IdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html b/tests/src/test/resources/user/OAuth2IdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html new file mode 100644 index 00000000000..a3da2de8ed0 --- /dev/null +++ b/tests/src/test/resources/user/OAuth2IdentityProviderTest/fail_to_authenticate_when_not_allowed_to_sign_up.html @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>fail_to_authenticate_when_not_allowed_to_sign_up</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake oauth2 identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*Reason : 'fake-oauth2-id-provider' users are not allowed to sign up*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/OAuth2IdentityProviderTest/fail_when_email_already_exists.html b/tests/src/test/resources/user/OAuth2IdentityProviderTest/fail_when_email_already_exists.html new file mode 100644 index 00000000000..7d038ac592d --- /dev/null +++ b/tests/src/test/resources/user/OAuth2IdentityProviderTest/fail_when_email_already_exists.html @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <title>fail_when_email_already_exists</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">french</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>content</td> + <td>*Log in with Fake oauth2 identity provider*</td> + </tr> + <tr> + <td>click</td> + <td>css=.oauth-providers a</td> + <td></td> + </tr> + <tr> + <td>waitForText</td> + <td>bd</td> + <td>*You're not authorized to access this page. Please contact the administrator.*</td> + </tr> + <tr> + <td>assertText</td> + <td>bd</td> + <td>*You can't sign up because email 'john@email.com' is already used by an existing user. This means that you probably already registered with another account*</td> + </tr> + </tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/UsersPageTest/admin_should_change_its_own_password.html b/tests/src/test/resources/user/UsersPageTest/admin_should_change_its_own_password.html new file mode 100644 index 00000000000..06e806cf259 --- /dev/null +++ b/tests/src/test/resources/user/UsersPageTest/admin_should_change_its_own_password.html @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>admin_should_change_its_own_password</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> +<thead> +<tr> +<td rowspan="1" colspan="3">admin_should_change_its_own_password</td> +</tr> +</thead> +<tbody> +<tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/login</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/users</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=[data-login=admin-user]</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=[data-login=admin-user] .js-user-change-password</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.modal</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>id=change-user-password-old-password</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>id=change-user-password-password</td> + <td>new-admin-user</td> +</tr> +<tr> + <td>type</td> + <td>id=change-user-password-password-confirmation</td> + <td>new-admin-user</td> +</tr> +<tr> + <td>click</td> + <td>id=change-user-password-submit</td> + <td></td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=.modal</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> diff --git a/tests/src/test/resources/user/UsersPageTest/generate_and_revoke_user_token.html b/tests/src/test/resources/user/UsersPageTest/generate_and_revoke_user_token.html new file mode 100644 index 00000000000..c81949c4d10 --- /dev/null +++ b/tests/src/test/resources/user/UsersPageTest/generate_and_revoke_user_token.html @@ -0,0 +1,115 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head profile="http://selenium-ide.openqa.org/profiles/test-case"> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> + <link rel="selenium.base" href="http://localhost:49506"/> + <title>generate_and_revoke_user_token</title> +</head> +<body> +<table cellpadding="1" cellspacing="1" border="1"> + <thead> + <tr> + <td rowspan="1" colspan="3">generate_and_revoke_user_token</td> + </tr> + </thead> + <tbody> + <tr> + <td>open</td> + <td>/sessions/logout</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/sessions/new</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>login</td> + <td>admin-user</td> +</tr> +<tr> + <td>type</td> + <td>password</td> + <td>admin-user</td> +</tr> +<tr> + <td>clickAndWait</td> + <td>commit</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-authenticated</td> + <td></td> +</tr> +<tr> + <td>open</td> + <td>/users</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-user-tokens</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-user-tokens</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.modal</td> + <td>*No tokens*</td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-generate-token-form input</td> + <td></td> +</tr> +<tr> + <td>type</td> + <td>css=.js-generate-token-form input</td> + <td>test-token</td> +</tr> +<tr> + <td>click</td> + <td>css=.js-generate-token-form button</td> + <td></td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.modal code</td> + <td></td> +</tr> +<tr> + <td>waitForText</td> + <td>css=.modal</td> + <td>*test-token*</td> +</tr> +<tr> + <td>waitForElementPresent</td> + <td>css=.js-revoke-token-form</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-revoke-token-form button</td> + <td></td> +</tr> +<tr> + <td>click</td> + <td>css=.js-revoke-token-form button</td> + <td></td> +</tr> +<tr> + <td>assertElementNotPresent</td> + <td>css=.js-revoke-token-form</td> + <td></td> +</tr> +</tbody> +</table> +</body> +</html> |