1 // Copyright (c) 2013, Suryandaru Triandana <syndtr@gmail.com>
2 // All rights reserved.
4 // Use of this source code is governed by a BSD-style license that can be
5 // found in the LICENSE file.
14 func TestMemStorage(t *testing.T) {
19 t.Fatal("storage lock failed(1): ", err)
23 t.Fatal("expect error for second storage lock attempt")
25 t.Logf("storage lock got error: %s (expected)", err)
30 t.Fatal("storage lock failed(2): ", err)
33 w, err := m.Create(FileDesc{TypeTable, 1})
35 t.Fatal("Storage.Create: ", err)
37 w.Write([]byte("abc"))
39 if fds, _ := m.List(TypeAll); len(fds) != 1 {
40 t.Fatal("invalid GetFiles len")
42 buf := new(bytes.Buffer)
43 r, err := m.Open(FileDesc{TypeTable, 1})
45 t.Fatal("Open: got error: ", err)
49 if got := buf.String(); got != "abc" {
50 t.Fatalf("Read: invalid value, want=abc got=%s", got)
52 if _, err := m.Open(FileDesc{TypeTable, 1}); err != nil {
53 t.Fatal("Open: got error: ", err)
55 if _, err := m.Open(FileDesc{TypeTable, 1}); err == nil {
56 t.Fatal("expecting error")
58 m.Remove(FileDesc{TypeTable, 1})
59 if fds, _ := m.List(TypeAll); len(fds) != 0 {
60 t.Fatal("invalid GetFiles len", len(fds))
62 if _, err := m.Open(FileDesc{TypeTable, 1}); err == nil {
63 t.Fatal("expecting error")