grim/convey
Clone
Summary
Browse
Changes
Graph
closing merged branch
hostnames
2017-10-13, Gary Kramlich
33eae19fcbbe
closing merged branch
/*
* 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
convey
import
(
"testing"
"github.com/aphistic/sweet"
junit
"github.com/aphistic/sweet-junit"
.
"github.com/onsi/gomega"
realConfig
"bitbucket.org/rw_grim/convey/config"
"bitbucket.org/rw_grim/convey/state"
)
type
conveySuite
struct
{}
func
TestMain
(
m
*
testing
.
M
)
{
RegisterFailHandler
(
sweet
.
GomegaFail
)
sweet
.
Run
(
m
,
func
(
s
*
sweet
.
S
)
{
s
.
RegisterPlugin
(
junit
.
NewPlugin
())
s
.
AddSuite
(
&
conveySuite
{})
s
.
AddSuite
(
&
extendSuite
{})
s
.
AddSuite
(
&
extendsSuite
{})
s
.
AddSuite
(
&
defaultPlanSuite
{})
s
.
AddSuite
(
&
environmentSuite
{})
})
}
/* OverrideSuffix tests */
func
(
s
*
conveySuite
)
TestOverrideSuffix
(
t
sweet
.
T
)
{
l
:=
Loader
{}
Expect
(
l
.
OverrideSuffix
()).
To
(
Equal
(
"-override"
))
}
/* ResolvePlanName tests */
func
(
s
*
conveySuite
)
TestResolvePlanName
(
t
sweet
.
T
)
{
l
:=
Loader
{}
cfg
:=
&
realConfig
.
Config
{}
st
:=
&
state
.
State
{}
tests
:=
[]
string
{
""
,
"foo"
,
"*"
,
}
for
_
,
name
:=
range
tests
{
Expect
(
l
.
ResolvePlanName
(
name
,
cfg
,
st
)).
To
(
Equal
(
name
))
}
}
/* required fields tests */
func
(
s
*
conveySuite
)
TestTasksRequired
(
t
sweet
.
T
)
{
data
:=
`plans:
default:
name: foo
`
l
:=
Loader
{}
_
,
err
:=
l
.
Load
(
"."
,
"."
,
[]
byte
(
data
))
Expect
(
err
).
To
(
MatchError
(
ErrNoTasks
))
}
func
(
s
*
conveySuite
)
TestPlansRequired
(
t
sweet
.
T
)
{
data
:=
`tasks:
foo:
image: foobar
`
l
:=
Loader
{}
_
,
err
:=
l
.
Load
(
"."
,
"."
,
[]
byte
(
data
))
Expect
(
err
).
To
(
MatchError
(
ErrNoPlans
))
}