aboutsummaryrefslogtreecommitdiff
path: root/container_test.go
diff options
context:
space:
mode:
authorStefan Majewsky <majewsky@gmx.net>2018-02-04 23:29:09 +0100
committerStefan Majewsky <majewsky@gmx.net>2018-02-04 23:29:09 +0100
commitfafac750baa70812432020784cc5ba2cc23224cc (patch)
tree2b0100470a44a7db1550fc7989257c35c5ac808d /container_test.go
parent698cd6aaf4e4fd235d5af904376c89f8faf177f7 (diff)
downloadgo-schwift-fafac750baa70812432020784cc5ba2cc23224cc.tar.gz
add Container
Diffstat (limited to 'container_test.go')
-rw-r--r--container_test.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/container_test.go b/container_test.go
new file mode 100644
index 0000000..7c67ed5
--- /dev/null
+++ b/container_test.go
@@ -0,0 +1,57 @@
+/******************************************************************************
+*
+* Copyright 2018 Stefan Majewsky <majewsky@gmx.net>
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+******************************************************************************/
+
+package schwift
+
+import (
+ "crypto/rand"
+ "encoding/hex"
+ "net/http"
+ "testing"
+)
+
+func TestContainerExistence(t *testing.T) {
+ testWithAccount(t, func(a *Account) {
+ c := a.Container(getRandomName())
+
+ exists, err := c.Exists()
+ expectError(t, err, "")
+ expectBool(t, exists, false)
+
+ _, err = c.Headers()
+ expectError(t, err, "expected 204 response, got 404 instead")
+ expectBool(t, Is(err, http.StatusNotFound), true)
+ expectBool(t, Is(err, http.StatusNoContent), false)
+
+ err = c.Create(ContainerHeaders{}, nil)
+ expectError(t, err, "")
+
+ exists, err = c.Exists()
+ expectError(t, err, "")
+ expectBool(t, exists, true)
+ })
+}
+
+func getRandomName() string {
+ var buf [16]byte
+ _, err := rand.Read(buf[:])
+ if err != nil {
+ panic(err.Error())
+ }
+ return hex.EncodeToString(buf[:])
+}