grim/convey
Clone
Summary
Browse
Changes
Graph
Add a .reviewboardrc file
2022-03-26, Gary Kramlich
8fea0c778f8e
Add a .reviewboardrc file
// Convey
// Copyright 2016-2018 Gary Kramlich <grim@reaperworld.com>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package
runtime
import
(
"testing"
"github.com/stretchr/testify/assert"
"gopkg.in/yaml.v2"
cYaml
"keep.imfreedom.org/grim/convey/yaml"
)
func
unmarshal
(
t
*
testing
.
T
,
data
string
)
Plan
{
p
:=
Plan
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
p
)
assert
.
Nil
(
t
,
err
)
return
p
}
func
TestEnvironmentSlice
(
t
*
testing
.
T
)
{
data
:=
`environment:
- foo=bar
- baz
`
p
:=
unmarshal
(
t
,
data
)
assert
.
Equal
(
t
,
p
.
Environment
,
cYaml
.
StringOrSlice
{
"foo=bar"
,
"baz"
})
}
func
TestEnvironmentString
(
t
*
testing
.
T
)
{
data
:=
`environment: foo=bar
`
p
:=
unmarshal
(
t
,
data
)
assert
.
Equal
(
t
,
p
.
Environment
,
cYaml
.
StringOrSlice
{
"foo=bar"
})
}
func
TestStagesRequired
(
t
*
testing
.
T
)
{
p
:=
unmarshal
(
t
,
""
)
err
:=
p
.
Valid
()
assert
.
EqualError
(
t
,
err
,
ErrNoStages
.
Error
())
assert
.
Len
(
t
,
p
.
Stages
,
0
)
}
func
TestValid
(
t
*
testing
.
T
)
{
data
:=
`stages:
- tasks:
- foo`
p
:=
unmarshal
(
t
,
data
)
assert
.
Nil
(
t
,
p
.
Valid
())
}