grim/convey
Clone
Summary
Browse
Changes
Graph
Ensure state is constructed correctly.
2017-10-01, Eric Fritz
21a0c5f85e7d
Ensure state is constructed correctly.
/*
* 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/onsi/gomega"
"github.com/aphistic/sweet"
"github.com/go-yaml/yaml"
cYaml
"bitbucket.org/rw_grim/convey/yaml"
)
func
(
s
*
dockerSuite
)
TestExport
(
t
sweet
.
T
)
{
e
:=
&
Export
{
Files
:
cYaml
.
StringOrSlice
{
"foo"
}}
Expect
(
e
.
Valid
()).
To
(
BeNil
())
}
func
(
s
*
dockerSuite
)
TestExportFilesRequired
(
t
sweet
.
T
)
{
e
:=
&
Export
{}
Expect
(
e
.
Valid
()).
To
(
MatchError
(
errNoFiles
))
}
func
(
s
*
dockerSuite
)
TestExportFilesDoesNotAllowWildcardWithDestination
(
t
sweet
.
T
)
{
e
:=
Export
{
Files
:
cYaml
.
StringOrSlice
{
"*:/foo"
},
}
Expect
(
e
.
Valid
()).
To
(
MatchError
(
errWildcardWithDestination
))
}
func
(
s
*
dockerSuite
)
TestExportUnmarshalString
(
t
sweet
.
T
)
{
data
:=
`files: filename`
exp
:=
Export
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
exp
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
exp
.
Files
).
To
(
Equal
(
cYaml
.
StringOrSlice
{
"filename"
}))
}
func
(
s
*
dockerSuite
)
TestExportUnmarshalStringSlice
(
t
sweet
.
T
)
{
data
:=
`files:
- filename1
- filename2`
exp
:=
Export
{}
err
:=
yaml
.
Unmarshal
([]
byte
(
data
),
&
exp
)
Expect
(
err
).
To
(
BeNil
())
Expect
(
exp
.
Files
).
To
(
Equal
(
cYaml
.
StringOrSlice
{
"filename1"
,
"filename2"
}))
}