1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-11-06 09:09:19 +02:00

feat (buildSettingsInfo) new common cpe which holds build settings json value (#3272)

* create build settings for maven

* cases for when mavenBuild may be present

* fixing unit test for mavenBuild to include cpe

* changing position of buildSettngsJson to be called atfter build runs

* package

* extending the struct for other build types

* adding values for mta build settings

* changing config data type

* adding npm build settings

* unit tests

* fix trailing space

* typo correction in yaml

* Vitalii/build settings info (#3277)

* Add buildsettings package

* Improve buildSetting package for mta, npm

* Add unit-test

* Fix

* Fix

Co-authored-by: Vitalii Sidorov <vitalii.sidorov@sap.com>

* review changes

* removing buildTool param

* changing npm script name

* fix npmExecute tests

* including build settings info in npm struct

Co-authored-by: Your Name <you@example.com>
Co-authored-by: kingvvgo <56587879+kingvvgo@users.noreply.github.com>
Co-authored-by: Vitalii Sidorov <vitalii.sidorov@sap.com>
Co-authored-by: Oliver Nocon <33484802+OliverNocon@users.noreply.github.com>
This commit is contained in:
Anil Keshav
2021-11-16 15:02:57 +01:00
committed by GitHub
parent 9c700c6f0a
commit a92dd234b1
13 changed files with 404 additions and 26 deletions

View File

@@ -7,6 +7,7 @@ import (
"path/filepath"
"strings"
"github.com/SAP/jenkins-library/pkg/buildsettings"
"github.com/SAP/jenkins-library/pkg/command"
"github.com/SAP/jenkins-library/pkg/log"
"github.com/SAP/jenkins-library/pkg/maven"
@@ -17,16 +18,16 @@ import (
piperhttp "github.com/SAP/jenkins-library/pkg/http"
)
func mavenBuild(config mavenBuildOptions, telemetryData *telemetry.CustomData) {
func mavenBuild(config mavenBuildOptions, telemetryData *telemetry.CustomData, commonPipelineEnvironment *mavenBuildCommonPipelineEnvironment) {
utils := maven.NewUtilsBundle()
err := runMavenBuild(&config, telemetryData, utils)
err := runMavenBuild(&config, telemetryData, utils, commonPipelineEnvironment)
if err != nil {
log.Entry().WithError(err).Fatal("step execution failed")
}
}
func runMavenBuild(config *mavenBuildOptions, telemetryData *telemetry.CustomData, utils maven.Utils) error {
func runMavenBuild(config *mavenBuildOptions, telemetryData *telemetry.CustomData, utils maven.Utils, commonPipelineEnvironment *mavenBuildCommonPipelineEnvironment) error {
var flags = []string{"-update-snapshots", "--batch-mode"}
@@ -84,6 +85,21 @@ func runMavenBuild(config *mavenBuildOptions, telemetryData *telemetry.CustomDat
_, err := maven.Execute(&mavenOptions, utils)
log.Entry().Infof("creating build settings information...")
mavenConfig := buildsettings.BuildOptions{
Profiles: config.Profiles,
GlobalSettingsFile: config.GlobalSettingsFile,
LogSuccessfulMavenTransfers: config.LogSuccessfulMavenTransfers,
CreateBOM: config.CreateBOM,
Publish: config.Publish,
BuildSettingsInfo: config.BuildSettingsInfo,
}
builSettings, err := buildsettings.CreateBuildSettingsInfo(&mavenConfig, "mavenBuild")
if err != nil {
log.Entry().Warnf("failed to create build settings info : ''%v", err)
}
commonPipelineEnvironment.custom.buildSettingsInfo = builSettings
if err == nil {
if config.Publish && !config.Verify {
log.Entry().Infof("publish detected, running mvn deploy")
@@ -120,6 +136,7 @@ func runMavenBuild(config *mavenBuildOptions, telemetryData *telemetry.CustomDat
log.Entry().Infof("publish not detected, ignoring maven deploy")
}
}
return err
}

View File

@@ -5,10 +5,12 @@ package cmd
import (
"fmt"
"os"
"path/filepath"
"time"
"github.com/SAP/jenkins-library/pkg/config"
"github.com/SAP/jenkins-library/pkg/log"
"github.com/SAP/jenkins-library/pkg/piperenv"
"github.com/SAP/jenkins-library/pkg/splunk"
"github.com/SAP/jenkins-library/pkg/telemetry"
"github.com/SAP/jenkins-library/pkg/validation"
@@ -32,6 +34,35 @@ type mavenBuildOptions struct {
CustomTLSCertificateLinks []string `json:"customTlsCertificateLinks,omitempty"`
Publish bool `json:"publish,omitempty"`
JavaCaCertFilePath string `json:"javaCaCertFilePath,omitempty"`
BuildSettingsInfo string `json:"buildSettingsInfo,omitempty"`
}
type mavenBuildCommonPipelineEnvironment struct {
custom struct {
buildSettingsInfo string
}
}
func (p *mavenBuildCommonPipelineEnvironment) persist(path, resourceName string) {
content := []struct {
category string
name string
value interface{}
}{
{category: "custom", name: "buildSettingsInfo", value: p.custom.buildSettingsInfo},
}
errCount := 0
for _, param := range content {
err := piperenv.SetResourceParameter(path, resourceName, filepath.Join(param.category, param.name), param.value)
if err != nil {
log.Entry().WithError(err).Error("Error persisting piper environment.")
errCount++
}
}
if errCount > 0 {
log.Entry().Fatal("failed to persist Piper environment")
}
}
// MavenBuildCommand This step will install the maven project into the local maven repository.
@@ -41,6 +72,7 @@ func MavenBuildCommand() *cobra.Command {
metadata := mavenBuildMetadata()
var stepConfig mavenBuildOptions
var startTime time.Time
var commonPipelineEnvironment mavenBuildCommonPipelineEnvironment
var logCollector *log.CollectorHook
var createMavenBuildCmd = &cobra.Command{
@@ -93,6 +125,7 @@ supports ci friendly versioning by flattening the pom before installing.`,
telemetryData.ErrorCode = "1"
handler := func() {
config.RemoveVaultSecretFiles()
commonPipelineEnvironment.persist(GeneralConfig.EnvRootPath, "commonPipelineEnvironment")
telemetryData.Duration = fmt.Sprintf("%v", time.Since(startTime).Milliseconds())
telemetryData.ErrorCategory = log.GetErrorCategory().String()
telemetry.Send(&telemetryData)
@@ -110,7 +143,7 @@ supports ci friendly versioning by flattening the pom before installing.`,
GeneralConfig.HookConfig.SplunkConfig.Index,
GeneralConfig.HookConfig.SplunkConfig.SendLogs)
}
mavenBuild(stepConfig, &telemetryData)
mavenBuild(stepConfig, &telemetryData, &commonPipelineEnvironment)
telemetryData.ErrorCode = "0"
log.Entry().Info("SUCCESS")
},
@@ -137,6 +170,7 @@ func addMavenBuildFlags(cmd *cobra.Command, stepConfig *mavenBuildOptions) {
cmd.Flags().StringSliceVar(&stepConfig.CustomTLSCertificateLinks, "customTlsCertificateLinks", []string{}, "List of download links to custom TLS certificates. This is required to ensure trusted connections to instances with repositories (like nexus) when publish flag is set to true.")
cmd.Flags().BoolVar(&stepConfig.Publish, "publish", false, "Configures maven to run the deploy plugin to publish artifacts to a repository.")
cmd.Flags().StringVar(&stepConfig.JavaCaCertFilePath, "javaCaCertFilePath", os.Getenv("PIPER_javaCaCertFilePath"), "path to the cacerts file used by Java. When maven publish is set to True and customTlsCertificateLinks (to deploy the artifact to a repository with a self signed cert) are provided to trust the self signed certs, Piper will extend the existing Java cacerts to include the new self signed certs. if not provided Piper will search for the cacerts in $JAVA_HOME/jre/lib/security/cacerts")
cmd.Flags().StringVar(&stepConfig.BuildSettingsInfo, "buildSettingsInfo", os.Getenv("PIPER_buildSettingsInfo"), "build settings info is typically filled by the step automatically to create information about the build settings that were used during the maven build . This information is typically used for compliance related processes.")
}
@@ -334,11 +368,36 @@ func mavenBuildMetadata() config.StepData {
Aliases: []config.Alias{{Name: "maven/javaCaCertFilePath"}},
Default: os.Getenv("PIPER_javaCaCertFilePath"),
},
{
Name: "buildSettingsInfo",
ResourceRef: []config.ResourceReference{
{
Name: "commonPipelineEnvironment",
Param: "custom/buildSettingsInfo",
},
},
Scope: []string{"STEPS", "STAGES", "PARAMETERS"},
Type: "string",
Mandatory: false,
Aliases: []config.Alias{},
Default: os.Getenv("PIPER_buildSettingsInfo"),
},
},
},
Containers: []config.Container{
{Name: "mvn", Image: "maven:3.6-jdk-8"},
},
Outputs: config.StepOutputs{
Resources: []config.StepResources{
{
Name: "commonPipelineEnvironment",
Type: "piperEnvironment",
Parameters: []map[string]interface{}{
{"Name": "custom/buildSettingsInfo"},
},
},
},
},
},
}
return theMetaData

View File

@@ -7,12 +7,15 @@ import (
)
func TestMavenBuild(t *testing.T) {
cpe := mavenBuildCommonPipelineEnvironment{}
t.Run("mavenBuild should install the artifact", func(t *testing.T) {
mockedUtils := newMavenMockUtils()
config := mavenBuildOptions{}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Equal(t, mockedUtils.Calls[0].Exec, "mvn")
@@ -25,7 +28,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Equal(t, mockedUtils.Calls[0].Exec, "mvn")
@@ -37,7 +40,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{Flatten: true}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Contains(t, mockedUtils.Calls[0].Params, "flatten:flatten")
@@ -50,7 +53,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{Verify: true}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Contains(t, mockedUtils.Calls[0].Params, "verify")
@@ -62,7 +65,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{CreateBOM: true}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Contains(t, mockedUtils.Calls[0].Params, "org.cyclonedx:cyclonedx-maven-plugin:makeAggregateBom")
@@ -82,7 +85,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{Publish: true, Verify: false}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Contains(t, mockedUtils.Calls[0].Params, "install")
@@ -96,7 +99,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{Publish: true, Verify: false}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Contains(t, mockedUtils.Calls[1].Params, "-Dmaven.main.skip=true")
@@ -110,7 +113,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{Publish: true, Verify: false, AltDeploymentRepositoryID: "ID", AltDeploymentRepositoryURL: "http://sampleRepo.com"}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Contains(t, mockedUtils.Calls[1].Params, "-DaltDeploymentRepository=ID::default::http://sampleRepo.com")
@@ -121,7 +124,7 @@ func TestMavenBuild(t *testing.T) {
config := mavenBuildOptions{Profiles: []string{"profile1", "profile2"}}
err := runMavenBuild(&config, nil, &mockedUtils)
err := runMavenBuild(&config, nil, &mockedUtils, &cpe)
assert.Nil(t, err)
assert.Contains(t, mockedUtils.Calls[0].Params, "--activate-profiles")

View File

@@ -13,6 +13,7 @@ import (
"text/template"
"time"
"github.com/SAP/jenkins-library/pkg/buildsettings"
"github.com/SAP/jenkins-library/pkg/npm"
"github.com/SAP/jenkins-library/pkg/command"
@@ -233,6 +234,19 @@ func runMtaBuild(config mtaBuildOptions,
return err
}
log.Entry().Infof("creating build settings information...")
mtaConfig := buildsettings.BuildOptions{
Profiles: config.Profiles,
GlobalSettingsFile: config.GlobalSettingsFile,
Publish: config.Publish,
BuildSettingsInfo: config.BuildSettingsInfo,
}
builSettings, err := buildsettings.CreateBuildSettingsInfo(&mtaConfig, "mtaBuild")
if err != nil {
log.Entry().Warnf("failed to create build settings info : ''%v", err)
}
commonPipelineEnvironment.custom.buildSettingsInfo = builSettings
commonPipelineEnvironment.mtarFilePath = mtarName
if config.InstallArtifacts {

View File

@@ -37,12 +37,14 @@ type mtaBuildOptions struct {
MtaDeploymentRepositoryURL string `json:"mtaDeploymentRepositoryUrl,omitempty"`
Publish bool `json:"publish,omitempty"`
Profiles []string `json:"profiles,omitempty"`
BuildSettingsInfo string `json:"buildSettingsInfo,omitempty"`
}
type mtaBuildCommonPipelineEnvironment struct {
mtarFilePath string
custom struct {
mtarPublishedURL string
mtarPublishedURL string
buildSettingsInfo string
}
}
@@ -54,6 +56,7 @@ func (p *mtaBuildCommonPipelineEnvironment) persist(path, resourceName string) {
}{
{category: "", name: "mtarFilePath", value: p.mtarFilePath},
{category: "custom", name: "mtarPublishedUrl", value: p.custom.mtarPublishedURL},
{category: "custom", name: "buildSettingsInfo", value: p.custom.buildSettingsInfo},
}
errCount := 0
@@ -175,6 +178,7 @@ func addMtaBuildFlags(cmd *cobra.Command, stepConfig *mtaBuildOptions) {
cmd.Flags().StringVar(&stepConfig.MtaDeploymentRepositoryURL, "mtaDeploymentRepositoryUrl", os.Getenv("PIPER_mtaDeploymentRepositoryUrl"), "Url for the alternative deployment repository to which mtar artifacts will be publised")
cmd.Flags().BoolVar(&stepConfig.Publish, "publish", false, "pushed mtar artifact to altDeploymentRepositoryUrl/altDeploymentRepositoryID when set to true")
cmd.Flags().StringSliceVar(&stepConfig.Profiles, "profiles", []string{}, "Defines list of maven build profiles to be used. profiles will overwrite existing values in the global settings xml at $M2_HOME/conf/settings.xml")
cmd.Flags().StringVar(&stepConfig.BuildSettingsInfo, "buildSettingsInfo", os.Getenv("PIPER_buildSettingsInfo"), "build settings info is typically filled by the step automatically to create information about the build settings that were used during the mta build . This information is typically used for compliance related processes.")
}
@@ -391,6 +395,20 @@ func mtaBuildMetadata() config.StepData {
Aliases: []config.Alias{},
Default: []string{},
},
{
Name: "buildSettingsInfo",
ResourceRef: []config.ResourceReference{
{
Name: "commonPipelineEnvironment",
Param: "custom/buildSettingsInfo",
},
},
Scope: []string{"STEPS", "STAGES", "PARAMETERS"},
Type: "string",
Mandatory: false,
Aliases: []config.Alias{},
Default: os.Getenv("PIPER_buildSettingsInfo"),
},
},
},
Containers: []config.Container{
@@ -404,6 +422,7 @@ func mtaBuildMetadata() config.StepData {
Parameters: []map[string]interface{}{
{"Name": "mtarFilePath"},
{"Name": "custom/mtarPublishedUrl"},
{"Name": "custom/buildSettingsInfo"},
},
},
},

View File

@@ -1,23 +1,24 @@
package cmd
import (
"github.com/SAP/jenkins-library/pkg/buildsettings"
"github.com/SAP/jenkins-library/pkg/log"
"github.com/SAP/jenkins-library/pkg/npm"
"github.com/SAP/jenkins-library/pkg/telemetry"
)
func npmExecuteScripts(config npmExecuteScriptsOptions, telemetryData *telemetry.CustomData) {
func npmExecuteScripts(config npmExecuteScriptsOptions, telemetryData *telemetry.CustomData, commonPipelineEnvironment *npmExecuteScriptsCommonPipelineEnvironment) {
npmExecutorOptions := npm.ExecutorOptions{DefaultNpmRegistry: config.DefaultNpmRegistry}
npmExecutor := npm.NewExecutor(npmExecutorOptions)
err := runNpmExecuteScripts(npmExecutor, &config)
err := runNpmExecuteScripts(npmExecutor, &config, commonPipelineEnvironment)
if err != nil {
log.SetErrorCategory(log.ErrorBuild)
log.Entry().WithError(err).Fatal("step execution failed")
}
}
func runNpmExecuteScripts(npmExecutor npm.Executor, config *npmExecuteScriptsOptions) error {
func runNpmExecuteScripts(npmExecutor npm.Executor, config *npmExecuteScriptsOptions, commonPipelineEnvironment *npmExecuteScriptsCommonPipelineEnvironment) error {
if config.Install {
packageJSONFiles, err := npmExecutor.FindPackageJSONFilesWithExcludes(config.BuildDescriptorExcludeList)
if err != nil {
@@ -46,6 +47,19 @@ func runNpmExecuteScripts(npmExecutor npm.Executor, config *npmExecuteScriptsOpt
return err
}
log.Entry().Infof("creating build settings information...")
npmConfig := buildsettings.BuildOptions{
Publish: config.Publish,
CreateBOM: config.CreateBOM,
DefaultNpmRegistry: config.DefaultNpmRegistry,
BuildSettingsInfo: config.BuildSettingsInfo,
}
builSettings, err := buildsettings.CreateBuildSettingsInfo(&npmConfig, "npmExecuteScripts")
if err != nil {
log.Entry().Warnf("failed to create build settings info : ''%v", err)
}
commonPipelineEnvironment.custom.buildSettingsInfo = builSettings
if config.Publish {
packageJSONFiles, err := npmExecutor.FindPackageJSONFilesWithExcludes(config.BuildDescriptorExcludeList)
if err != nil {

View File

@@ -5,10 +5,12 @@ package cmd
import (
"fmt"
"os"
"path/filepath"
"time"
"github.com/SAP/jenkins-library/pkg/config"
"github.com/SAP/jenkins-library/pkg/log"
"github.com/SAP/jenkins-library/pkg/piperenv"
"github.com/SAP/jenkins-library/pkg/splunk"
"github.com/SAP/jenkins-library/pkg/telemetry"
"github.com/SAP/jenkins-library/pkg/validation"
@@ -28,6 +30,35 @@ type npmExecuteScriptsOptions struct {
RepositoryURL string `json:"repositoryUrl,omitempty"`
RepositoryPassword string `json:"repositoryPassword,omitempty"`
RepositoryUsername string `json:"repositoryUsername,omitempty"`
BuildSettingsInfo string `json:"buildSettingsInfo,omitempty"`
}
type npmExecuteScriptsCommonPipelineEnvironment struct {
custom struct {
buildSettingsInfo string
}
}
func (p *npmExecuteScriptsCommonPipelineEnvironment) persist(path, resourceName string) {
content := []struct {
category string
name string
value interface{}
}{
{category: "custom", name: "buildSettingsInfo", value: p.custom.buildSettingsInfo},
}
errCount := 0
for _, param := range content {
err := piperenv.SetResourceParameter(path, resourceName, filepath.Join(param.category, param.name), param.value)
if err != nil {
log.Entry().WithError(err).Error("Error persisting piper environment.")
errCount++
}
}
if errCount > 0 {
log.Entry().Fatal("failed to persist Piper environment")
}
}
// NpmExecuteScriptsCommand Execute npm run scripts on all npm packages in a project
@@ -37,6 +68,7 @@ func NpmExecuteScriptsCommand() *cobra.Command {
metadata := npmExecuteScriptsMetadata()
var stepConfig npmExecuteScriptsOptions
var startTime time.Time
var commonPipelineEnvironment npmExecuteScriptsCommonPipelineEnvironment
var logCollector *log.CollectorHook
var createNpmExecuteScriptsCmd = &cobra.Command{
@@ -88,6 +120,7 @@ func NpmExecuteScriptsCommand() *cobra.Command {
telemetryData.ErrorCode = "1"
handler := func() {
config.RemoveVaultSecretFiles()
commonPipelineEnvironment.persist(GeneralConfig.EnvRootPath, "commonPipelineEnvironment")
telemetryData.Duration = fmt.Sprintf("%v", time.Since(startTime).Milliseconds())
telemetryData.ErrorCategory = log.GetErrorCategory().String()
telemetry.Send(&telemetryData)
@@ -105,7 +138,7 @@ func NpmExecuteScriptsCommand() *cobra.Command {
GeneralConfig.HookConfig.SplunkConfig.Index,
GeneralConfig.HookConfig.SplunkConfig.SendLogs)
}
npmExecuteScripts(stepConfig, &telemetryData)
npmExecuteScripts(stepConfig, &telemetryData, &commonPipelineEnvironment)
telemetryData.ErrorCode = "0"
log.Entry().Info("SUCCESS")
},
@@ -128,6 +161,7 @@ func addNpmExecuteScriptsFlags(cmd *cobra.Command, stepConfig *npmExecuteScripts
cmd.Flags().StringVar(&stepConfig.RepositoryURL, "repositoryUrl", os.Getenv("PIPER_repositoryUrl"), "Url to the repository to which the project artifacts should be published.")
cmd.Flags().StringVar(&stepConfig.RepositoryPassword, "repositoryPassword", os.Getenv("PIPER_repositoryPassword"), "Password for the repository to which the project artifacts should be published.")
cmd.Flags().StringVar(&stepConfig.RepositoryUsername, "repositoryUsername", os.Getenv("PIPER_repositoryUsername"), "Username for the repository to which the project artifacts should be published.")
cmd.Flags().StringVar(&stepConfig.BuildSettingsInfo, "buildSettingsInfo", os.Getenv("PIPER_buildSettingsInfo"), "build settings info is typically filled by the step automatically to create information about the build settings that were used during the npm build . This information is typically used for compliance related processes.")
}
@@ -268,11 +302,36 @@ func npmExecuteScriptsMetadata() config.StepData {
Aliases: []config.Alias{},
Default: os.Getenv("PIPER_repositoryUsername"),
},
{
Name: "buildSettingsInfo",
ResourceRef: []config.ResourceReference{
{
Name: "commonPipelineEnvironment",
Param: "custom/buildSettingsInfo",
},
},
Scope: []string{"STEPS", "STAGES", "PARAMETERS"},
Type: "string",
Mandatory: false,
Aliases: []config.Alias{},
Default: os.Getenv("PIPER_buildSettingsInfo"),
},
},
},
Containers: []config.Container{
{Name: "node", Image: "node:lts-stretch"},
},
Outputs: config.StepOutputs{
Resources: []config.StepResources{
{
Name: "commonPipelineEnvironment",
Type: "piperEnvironment",
Parameters: []map[string]interface{}{
{"Name": "custom/buildSettingsInfo"},
},
},
},
},
},
}
return theMetaData

View File

@@ -26,6 +26,8 @@ func newNpmMockUtilsBundle() NpmMockUtilsBundle {
}
func TestNpmExecuteScripts(t *testing.T) {
cpe := npmExecuteScriptsCommonPipelineEnvironment{}
t.Run("Call with packagesList", func(t *testing.T) {
config := npmExecuteScriptsOptions{Install: true, RunScripts: []string{"ci-build", "ci-test"}, BuildDescriptorList: []string{"src/package.json"}}
utils := npm.NewNpmMockUtilsBundle()
@@ -33,7 +35,7 @@ func TestNpmExecuteScripts(t *testing.T) {
utils.AddFile("src/package.json", []byte("{\"name\": \"Test\" }"))
npmExecutor := npm.NpmExecutorMock{Utils: utils, Config: npm.NpmConfig{Install: config.Install, RunScripts: config.RunScripts, PackagesList: config.BuildDescriptorList}}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
assert.NoError(t, err)
})
@@ -45,7 +47,7 @@ func TestNpmExecuteScripts(t *testing.T) {
utils.AddFile("src/package.json", []byte("{\"name\": \"Test\" }"))
npmExecutor := npm.NpmExecutorMock{Utils: utils, Config: npm.NpmConfig{Install: config.Install, RunScripts: config.RunScripts, ExcludeList: config.BuildDescriptorExcludeList}}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
assert.NoError(t, err)
})
@@ -57,7 +59,7 @@ func TestNpmExecuteScripts(t *testing.T) {
utils.AddFile("src/package.json", []byte("{\"name\": \"Test\" }"))
npmExecutor := npm.NpmExecutorMock{Utils: utils, Config: npm.NpmConfig{Install: config.Install, RunScripts: config.RunScripts, ScriptOptions: config.ScriptOptions}}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
assert.NoError(t, err)
})
@@ -69,7 +71,7 @@ func TestNpmExecuteScripts(t *testing.T) {
utils.AddFile("src/package.json", []byte("{\"name\": \"Test\" }"))
npmExecutor := npm.NpmExecutorMock{Utils: utils, Config: npm.NpmConfig{Install: config.Install, RunScripts: config.RunScripts}}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
assert.NoError(t, err)
})
@@ -81,7 +83,7 @@ func TestNpmExecuteScripts(t *testing.T) {
utils.AddFile("src/package.json", []byte("{\"name\": \"Test\" }"))
npmExecutor := npm.NpmExecutorMock{Utils: utils, Config: npm.NpmConfig{Install: config.Install, RunScripts: config.RunScripts}}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
assert.NoError(t, err)
})
@@ -93,7 +95,7 @@ func TestNpmExecuteScripts(t *testing.T) {
utils.AddFile("src/package.json", []byte("{\"name\": \"Test\" }"))
npmExecutor := npm.NpmExecutorMock{Utils: utils, Config: npm.NpmConfig{Install: config.Install, RunScripts: config.RunScripts, VirtualFrameBuffer: config.VirtualFrameBuffer}}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
assert.NoError(t, err)
})
@@ -109,7 +111,7 @@ func TestNpmExecuteScripts(t *testing.T) {
npmExecutor := npm.Execute{Utils: &utils, Options: options}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
if assert.NoError(t, err) {
if assert.Equal(t, 4, len(utils.execRunner.Calls)) {
@@ -130,7 +132,7 @@ func TestNpmExecuteScripts(t *testing.T) {
utils.AddFile("src/package.json", []byte("{\"name\": \"Test\" }"))
npmExecutor := npm.Execute{Utils: &utils, Options: options}
err := runNpmExecuteScripts(&npmExecutor, &config)
err := runNpmExecuteScripts(&npmExecutor, &config, &cpe)
assert.NoError(t, err)
})