grim/convey
Clone
Summary
Browse
Changes
Graph
ChangeLog the fixes from pr #25. Fixes #125, #126
2017-10-03, Gary Kramlich
674d936a6785
ChangeLog the fixes from pr #25. Fixes #125, #126
/*
* Convey
* Copyright 2016-2017 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
stages
import
(
"github.com/aphistic/sweet"
"github.com/go-yaml/yaml"
.
"github.com/onsi/gomega"
)
type
unmarshalSuite
struct
{}
func
(
s
*
unmarshalSuite
)
TestDefaults
(
t
sweet
.
T
)
{
// we need a non empty string to get go-yaml to call our UnmarshalYAML
// function
data
:=
`name: foo`
var
stage
Stage
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
stage
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
stage
.
Run
).
To
(
Equal
(
"on-success"
))
}
func
(
s
*
unmarshalSuite
)
TestAlwaysAttribute
(
t
sweet
.
T
)
{
data
:=
`always: true`
var
stage
Stage
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
stage
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
stage
.
Always
).
To
(
BeTrue
())
Expect
(
stage
.
Run
).
To
(
Equal
(
"always"
))
}
func
(
s
*
unmarshalSuite
)
TestInvalidRun
(
t
sweet
.
T
)
{
data
:=
`run: invalid`
var
stage
Stage
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
stage
)
Expect
(
err
).
ToNot
(
BeNil
())
}
func
(
s
*
unmarshalSuite
)
TestRunOnSuccess
(
t
sweet
.
T
)
{
data
:=
`run: on-success`
var
stage
Stage
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
stage
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
stage
.
Run
).
To
(
Equal
(
"on-success"
))
}
func
(
s
*
unmarshalSuite
)
TestRunOnFailure
(
t
sweet
.
T
)
{
data
:=
`run: on-failure`
var
stage
Stage
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
stage
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
stage
.
Run
).
To
(
Equal
(
"on-failure"
))
}
func
(
s
*
unmarshalSuite
)
TestRunAlways
(
t
sweet
.
T
)
{
data
:=
`run: always`
var
stage
Stage
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
stage
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
stage
.
Run
).
To
(
Equal
(
"always"
))
}
func
(
s
*
unmarshalSuite
)
TestRunOverridesAlways
(
t
sweet
.
T
)
{
data
:=
`always: true
run: on-failure`
var
stage
Stage
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
stage
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
stage
.
Always
).
To
(
BeTrue
())
Expect
(
stage
.
Run
).
To
(
Equal
(
"on-failure"
))
}