hs-test: manage containers and volumes within test suite
Type: test
Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech>
Change-Id: I614111814af5a99dcaa22c8581ea2d339572ae1c
diff --git a/extras/hs-test/framework_test.go b/extras/hs-test/framework_test.go
index fc186f3..cfc3801 100755
--- a/extras/hs-test/framework_test.go
+++ b/extras/hs-test/framework_test.go
@@ -13,7 +13,7 @@
type HstSuite struct {
suite.Suite
teardownSuite func()
- containers []string
+ containers []*Container
volumes []string
}
@@ -56,19 +56,30 @@
return nil, fmt.Errorf("creating container failed: name must not be blank")
}
- s.containers = append(s.containers, name)
-
container := new(Container)
container.name = name
+
+ s.containers = append(s.containers, container)
+
return container, nil
}
func (s *HstSuite) StopContainers() {
- for _, containerName := range s.containers {
- exechelper.Run("docker stop " + containerName)
+ for _, container := range s.containers {
+ container.stop()
}
}
+func (s *HstSuite) NewVolume(name string) error {
+ err := exechelper.Run(fmt.Sprintf("docker volume create --name=%s", name))
+ if err != nil {
+ return err
+ }
+
+ s.volumes = append(s.volumes, name)
+ return nil
+}
+
func (s *HstSuite) RemoveVolumes() {
for _, volumeName := range s.volumes {
exechelper.Run("docker volume rm " + volumeName)