mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
a1988f6808
* Add GH issue creation + SARIF * Code cleanup * Fix fmt, add debug * Code enhancements * Fix * Added debug info * Rework UA log scan * Fix code * read UA version * Fix nil reference * Extraction * Credentials * Issue creation * Error handling * Fix issue creation * query escape * Query escape 2 * Revert * Test avoid update * HTTP client * Add support for custom TLS certs * Fix code * Fix code 2 * Fix code 3 * Disable cert check * Fix auth * Remove implicit trust * Skip verification * Fix * Fix client * Fix HTTP auth * Fix trusted certs * Trim version * Code * Add token * Added token handling to client * Fix token * Cleanup * Fix token * Token rework * Fix code * Kick out oauth client * Kick out oauth client * Transport wrapping * Token * Simplification * Refactor * Variation * Check * Fix * Debug * Switch client * Variation * Debug * Switch to cert check * Add debug * Parse self * Cleanup * Update resources/metadata/whitesourceExecuteScan.yaml * Add debug * Expose subjects * Patch * Debug * Debug2 * Debug3 * Fix logging response body * Cleanup * Cleanup * Fix request body logging * Cleanup import * Fix import cycle * Cleanup * Fix fmt * Fix NopCloser reference * Regenerate * Reintroduce * Fix test * Fix tests * Correction * Fix error * Code fix * Fix tests * Add tests * Fix code climate issues * Code climate * Code climate again * Code climate again * Fix fmt * Fix fmt 2 Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
102 lines
2.9 KiB
Go
102 lines
2.9 KiB
Go
//go:build integration
|
|
// +build integration
|
|
|
|
// can be execute with go test -tags=integration ./integration/...
|
|
|
|
package main
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
|
|
piperhttp "github.com/SAP/jenkins-library/pkg/http"
|
|
"github.com/SAP/jenkins-library/pkg/sonar"
|
|
)
|
|
|
|
func TestSonarIssueSearch(t *testing.T) {
|
|
t.Parallel()
|
|
// init
|
|
token := os.Getenv("PIPER_INTEGRATION_SONAR_TOKEN")
|
|
require.NotEmpty(t, token, "SonarQube API Token is missing")
|
|
host := os.Getenv("PIPER_INTEGRATION_SONAR_HOST")
|
|
if len(host) == 0 {
|
|
host = "https://sonarcloud.io"
|
|
}
|
|
organization := os.Getenv("PIPER_INTEGRATION_SONAR_ORGANIZATION")
|
|
if len(organization) == 0 {
|
|
organization = "sap-1"
|
|
}
|
|
componentKey := os.Getenv("PIPER_INTEGRATION_SONAR_PROJECT")
|
|
if len(componentKey) == 0 {
|
|
componentKey = "SAP_jenkins-library"
|
|
}
|
|
options := &sonar.IssuesSearchOption{
|
|
ComponentKeys: componentKey,
|
|
Severities: "INFO",
|
|
Resolved: "false",
|
|
Ps: "1",
|
|
Organization: organization,
|
|
}
|
|
issueService := sonar.NewIssuesService(host, token, componentKey, organization, "", "", &piperhttp.Client{})
|
|
// test
|
|
result, _, err := issueService.SearchIssues(options)
|
|
// assert
|
|
assert.NoError(t, err)
|
|
assert.NotEmpty(t, result.Components)
|
|
//FIXME: include once implememnted
|
|
// assert.NotEmpty(t, result.Organizations)
|
|
}
|
|
|
|
func TestSonarMeasuresComponentSearch(t *testing.T) {
|
|
t.Parallel()
|
|
// init
|
|
token := os.Getenv("PIPER_INTEGRATION_SONAR_TOKEN")
|
|
require.NotEmpty(t, token, "SonarQube API Token is missing")
|
|
host := os.Getenv("PIPER_INTEGRATION_SONAR_HOST")
|
|
if len(host) == 0 {
|
|
host = "https://sonarcloud.io"
|
|
}
|
|
organization := os.Getenv("PIPER_INTEGRATION_SONAR_ORGANIZATION")
|
|
if len(organization) == 0 {
|
|
organization = "sap-1"
|
|
}
|
|
componentKey := os.Getenv("PIPER_INTEGRATION_SONAR_PROJECT")
|
|
if len(componentKey) == 0 {
|
|
componentKey = "SAP_jenkins-library"
|
|
}
|
|
|
|
componentService := sonar.NewMeasuresComponentService(host, token, componentKey, organization, "", "", &piperhttp.Client{})
|
|
// test
|
|
_, err := componentService.GetCoverage()
|
|
// assert
|
|
assert.NoError(t, err)
|
|
}
|
|
|
|
func TestSonarGetLinesOfCode(t *testing.T) {
|
|
t.Parallel()
|
|
// init
|
|
token := os.Getenv("PIPER_INTEGRATION_SONAR_TOKEN")
|
|
require.NotEmpty(t, token, "SonarQube API Token is missing")
|
|
host := os.Getenv("PIPER_INTEGRATION_SONAR_HOST")
|
|
if len(host) == 0 {
|
|
host = "https://sonarcloud.io"
|
|
}
|
|
organization := os.Getenv("PIPER_INTEGRATION_SONAR_ORGANIZATION")
|
|
if len(organization) == 0 {
|
|
organization = "sap-1"
|
|
}
|
|
componentKey := os.Getenv("PIPER_INTEGRATION_SONAR_PROJECT")
|
|
if len(componentKey) == 0 {
|
|
componentKey = "SAP_jenkins-library"
|
|
}
|
|
|
|
componentService := sonar.NewMeasuresComponentService(host, token, componentKey, organization, "", "", &piperhttp.Client{})
|
|
// test
|
|
_, err := componentService.GetLinesOfCode()
|
|
// assert
|
|
assert.NoError(t, err)
|
|
}
|