diff options
| author | Stefan Majewsky <majewsky@gmx.net> | 2018-02-19 21:30:33 +0100 |
|---|---|---|
| committer | Stefan Majewsky <majewsky@gmx.net> | 2018-02-19 21:33:49 +0100 |
| commit | 60d4779889baedc44972d4749daa073efca3b25c (patch) | |
| tree | d47746971f659d6f7e3affe428f239b289954f5b /tests/account_test.go | |
| parent | 8f777460661bbbcbe42730979140f525b382110e (diff) | |
| download | go-schwift-60d4779889baedc44972d4749daa073efca3b25c.tar.gz | |
reorganize code
* Gophercloud dependencies move into subpackage gopherschwift.
* Tests move into subpackage tests (to avoid import cycles).
+ Rename "Client" to "Backend".
Diffstat (limited to 'tests/account_test.go')
| -rw-r--r-- | tests/account_test.go | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/tests/account_test.go b/tests/account_test.go new file mode 100644 index 0000000..310d4ce --- /dev/null +++ b/tests/account_test.go @@ -0,0 +1,92 @@ +/****************************************************************************** +* +* 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 tests + +import ( + "testing" + + "github.com/majewsky/schwift" +) + +func TestAccountBasic(t *testing.T) { + testWithAccount(t, func(a *schwift.Account) { + hdr, err := a.Headers() + if !expectSuccess(t, err) { + t.FailNow() + } + //There are not a lot of things we can test here (besides testing that + //Headers() does not fail, i.e. everything parses correctly), but + //Content-Type is going to be text/plain because GET on an account lists + //the container names as plain text. + expectString(t, hdr.Get("Content-Type"), "text/plain; charset=utf-8") + }) +} + +func TestAccountMetadata(t *testing.T) { + testWithAccount(t, func(a *schwift.Account) { + //test creating some metadata + hdr := make(schwift.AccountHeaders) + hdr.Metadata().Set("schwift-test1", "first") + hdr.Metadata().Set("schwift-test2", "second") + err := a.Update(hdr, nil) + if !expectSuccess(t, err) { + t.FailNow() + } + + hdr, err = a.Headers() + if !expectSuccess(t, err) { + t.FailNow() + } + expectString(t, hdr.Metadata().Get("schwift-test1"), "first") + expectString(t, hdr.Metadata().Get("schwift-test2"), "second") + + //test deleting some metadata + hdr = make(schwift.AccountHeaders) + hdr.Metadata().Clear("schwift-test1") + err = a.Update(hdr, nil) + if !expectSuccess(t, err) { + t.FailNow() + } + + hdr, err = a.Headers() + if !expectSuccess(t, err) { + t.FailNow() + } + expectString(t, hdr.Metadata().Get("schwift-test1"), "") + expectString(t, hdr.Metadata().Get("schwift-test2"), "second") + + //test updating some metadata + hdr = make(schwift.AccountHeaders) + hdr.Metadata().Set("schwift-test1", "will not be set") + hdr.Metadata().Del("schwift-test1") + hdr.Metadata().Set("schwift-test2", "changed") + err = a.Update(hdr, nil) + if !expectSuccess(t, err) { + t.FailNow() + } + + hdr, err = a.Headers() + if !expectSuccess(t, err) { + t.FailNow() + } + expectString(t, hdr.Metadata().Get("schwift-test1"), "") + expectString(t, hdr.Metadata().Get("schwift-test2"), "changed") + + }) +} |
