You've already forked woodpecker
mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2025-06-30 22:13:45 +02:00
42
pipeline/frontend/yaml/compiler/compiler_test.go
Normal file
42
pipeline/frontend/yaml/compiler/compiler_test.go
Normal file
@ -0,0 +1,42 @@
|
||||
package compiler
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/docker/docker/api/types/strslice"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/woodpecker-ci/woodpecker/pipeline/frontend/yaml"
|
||||
"github.com/woodpecker-ci/woodpecker/pipeline/frontend/yaml/types"
|
||||
)
|
||||
|
||||
func TestSecretAvailable(t *testing.T) {
|
||||
secret := Secret{
|
||||
Match: []string{"golang"},
|
||||
PluginOnly: false,
|
||||
}
|
||||
assert.True(t, secret.Available(&yaml.Container{
|
||||
Image: "golang",
|
||||
Commands: types.Stringorslice(strslice.StrSlice{"echo 'this is not a plugin'"}),
|
||||
}))
|
||||
assert.False(t, secret.Available(&yaml.Container{
|
||||
Image: "not-golang",
|
||||
Commands: types.Stringorslice(strslice.StrSlice{"echo 'this is not a plugin'"}),
|
||||
}))
|
||||
// secret only available for "golang" plugin
|
||||
secret = Secret{
|
||||
Match: []string{"golang"},
|
||||
PluginOnly: true,
|
||||
}
|
||||
assert.True(t, secret.Available(&yaml.Container{
|
||||
Image: "golang",
|
||||
Commands: types.Stringorslice(strslice.StrSlice{}),
|
||||
}))
|
||||
assert.False(t, secret.Available(&yaml.Container{
|
||||
Image: "not-golang",
|
||||
Commands: types.Stringorslice(strslice.StrSlice{}),
|
||||
}))
|
||||
assert.False(t, secret.Available(&yaml.Container{
|
||||
Image: "not-golang",
|
||||
Commands: types.Stringorslice(strslice.StrSlice{"echo 'this is not a plugin'"}),
|
||||
}))
|
||||
}
|
Reference in New Issue
Block a user