grim/convey
Clone
Summary
Browse
Changes
Graph
Bumping versions for release
v0.13.1
2018-01-14, Gary Kramlich
837098fd33e6
Bumping versions for release
// 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
plans
import
(
"testing"
"github.com/aphistic/sweet"
junit
"github.com/aphistic/sweet-junit"
"github.com/go-yaml/yaml"
.
"github.com/onsi/gomega"
cYaml
"bitbucket.org/rw_grim/convey/yaml"
)
type
planSuite
struct
{}
func
TestMain
(
m
*
testing
.
M
)
{
RegisterFailHandler
(
sweet
.
GomegaFail
)
sweet
.
Run
(
m
,
func
(
s
*
sweet
.
S
)
{
s
.
RegisterPlugin
(
junit
.
NewPlugin
())
s
.
AddSuite
(
&
planSuite
{})
})
}
func
(
s
*
planSuite
)
TestEnvironmentSlice
(
t
sweet
.
T
)
{
data
:=
`environment:
- foo=bar
- baz
`
p
:=
Plan
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
p
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
p
.
Environment
).
To
(
Equal
(
cYaml
.
StringOrSlice
{
"foo=bar"
,
"baz"
}))
}
func
(
s
*
planSuite
)
TestEnvironmentString
(
t
sweet
.
T
)
{
data
:=
`environment: foo=bar
`
p
:=
Plan
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
p
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
p
.
Environment
).
To
(
Equal
(
cYaml
.
StringOrSlice
{
"foo=bar"
}))
}
func
(
s
*
planSuite
)
TestStagesRequired
(
t
sweet
.
T
)
{
data
:=
``
p
:=
Plan
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
p
)
Expect
(
err
).
To
(
BeNil
())
err
=
p
.
Valid
()
Expect
(
err
).
To
(
Equal
(
ErrNoStages
))
Expect
(
len
(
p
.
Stages
)).
To
(
Equal
(
0
))
}
func
(
s
*
planSuite
)
TestValid
(
t
sweet
.
T
)
{
data
:=
`stages:
- tasks:
- foo`
p
:=
Plan
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
p
)
Expect
(
err
).
To
(
BeNil
())
err
=
p
.
Valid
()
Expect
(
err
).
To
(
BeNil
())
}