grim/convey
Clone
Summary
Browse
Changes
Graph
Add environment support to login and logout tasks
2017-09-21, Gary Kramlich
df9894c04929
Add environment support to login and logout tasks
/*
* 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
docker
import
(
"github.com/aphistic/sweet"
"github.com/go-yaml/yaml"
.
"github.com/onsi/gomega"
cYaml
"bitbucket.org/rw_grim/convey/yaml"
)
func
(
s
*
dockerSuite
)
TestBuildDockerfileRequired
(
t
sweet
.
T
)
{
b
:=
&
Build
{
Tag
:
"foo"
}
Expect
(
b
.
Valid
()).
To
(
MatchError
(
errNoDockerFile
))
}
func
(
s
*
dockerSuite
)
TestBuildTagRequired
(
t
sweet
.
T
)
{
b
:=
&
Build
{
Dockerfile
:
"Dockerfile"
}
Expect
(
b
.
Valid
()).
To
(
MatchError
(
errNoTag
))
}
func
(
s
*
dockerSuite
)
TestBuild
(
t
sweet
.
T
)
{
b
:=
&
Build
{
Dockerfile
:
"Dockerfile"
,
Tag
:
"tag"
,
}
Expect
(
b
.
Valid
()).
To
(
BeNil
())
}
func
(
s
*
dockerSuite
)
TestBuildUnmarshalNormal
(
t
sweet
.
T
)
{
data
:=
`dockerfile: dockerfile
files:
- filename1
tag: tag
labels:
- label1
arguments:
- argument1
`
b
:=
Build
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
b
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
b
.
Valid
()).
To
(
BeNil
())
Expect
(
b
.
Dockerfile
).
To
(
Equal
(
"dockerfile"
))
Expect
(
b
.
Files
).
To
(
Equal
(
cYaml
.
StringOrSlice
{
"filename1"
}))
Expect
(
b
.
Tag
).
To
(
Equal
(
"tag"
))
Expect
(
b
.
Labels
).
To
(
Equal
(
cYaml
.
StringOrSlice
{
"label1"
}))
Expect
(
b
.
Arguments
).
To
(
Equal
(
cYaml
.
StringOrSlice
{
"argument1"
}))
}
func
(
s
*
dockerSuite
)
TestBuildUnmarshalMissingDockerfile
(
t
sweet
.
T
)
{
data
:=
`tag: tag`
b
:=
Build
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
b
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
b
.
Valid
()).
To
(
MatchError
(
errNoDockerFile
))
}
func
(
s
*
dockerSuite
)
TestBuildUnmarshalMissingTag
(
t
sweet
.
T
)
{
data
:=
`dockerfile: dockerfile`
b
:=
Build
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
b
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
b
.
Valid
()).
To
(
MatchError
(
errNoTag
))
}