~nskaggs/+junk/xenial-test

« back to all changes in this revision

Viewing changes to src/github.com/juju/utils/filestorage/fakes_test.go

  • Committer: Nicholas Skaggs
  • Date: 2016-10-24 20:56:05 UTC
  • Revision ID: nicholas.skaggs@canonical.com-20161024205605-z8lta0uvuhtxwzwl
Initi with beta15

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Copyright 2014 Canonical Ltd.
 
2
// Licensed under the LGPLv3, see LICENCE file for details.
 
3
 
 
4
package filestorage_test
 
5
 
 
6
import (
 
7
        "io"
 
8
 
 
9
        "github.com/juju/errors"
 
10
        jc "github.com/juju/testing/checkers"
 
11
        gc "gopkg.in/check.v1"
 
12
 
 
13
        "github.com/juju/utils/filestorage"
 
14
)
 
15
 
 
16
// FakeMetadataStorage is used as a DocStorage and MetadataStorage for
 
17
// testing purposes.
 
18
type FakeMetadataStorage struct {
 
19
        calls []string
 
20
 
 
21
        id       string
 
22
        meta     filestorage.Metadata
 
23
        metaList []filestorage.Metadata
 
24
        err      error
 
25
 
 
26
        idArg   string
 
27
        metaArg filestorage.Metadata
 
28
}
 
29
 
 
30
// Check verfies the state of the fake.
 
31
func (s *FakeMetadataStorage) Check(c *gc.C, id string, meta filestorage.Metadata, calls ...string) {
 
32
        c.Check(s.calls, jc.DeepEquals, calls)
 
33
        c.Check(s.idArg, gc.Equals, id)
 
34
        c.Check(s.metaArg, gc.Equals, meta)
 
35
}
 
36
 
 
37
func (s *FakeMetadataStorage) Doc(id string) (filestorage.Document, error) {
 
38
        s.calls = append(s.calls, "Doc")
 
39
        s.idArg = id
 
40
        if s.err != nil {
 
41
                return nil, s.err
 
42
        }
 
43
        return s.meta, nil
 
44
}
 
45
 
 
46
func (s *FakeMetadataStorage) ListDocs() ([]filestorage.Document, error) {
 
47
        s.calls = append(s.calls, "ListDoc")
 
48
        if s.err != nil {
 
49
                return nil, s.err
 
50
        }
 
51
        var docs []filestorage.Document
 
52
        for _, doc := range s.metaList {
 
53
                docs = append(docs, doc)
 
54
        }
 
55
        return docs, nil
 
56
}
 
57
 
 
58
func (s *FakeMetadataStorage) AddDoc(doc filestorage.Document) (string, error) {
 
59
        s.calls = append(s.calls, "AddDoc")
 
60
        meta, err := filestorage.Convert(doc)
 
61
        if err != nil {
 
62
                return "", errors.Trace(err)
 
63
        }
 
64
        s.metaArg = meta
 
65
        return s.id, nil
 
66
}
 
67
 
 
68
func (s *FakeMetadataStorage) RemoveDoc(id string) error {
 
69
        s.calls = append(s.calls, "RemoveDoc")
 
70
        s.idArg = id
 
71
        return s.err
 
72
}
 
73
 
 
74
func (s *FakeMetadataStorage) Close() error {
 
75
        s.calls = append(s.calls, "Close")
 
76
        return s.err
 
77
}
 
78
 
 
79
func (s *FakeMetadataStorage) Metadata(id string) (filestorage.Metadata, error) {
 
80
        s.calls = append(s.calls, "Metadata")
 
81
        s.idArg = id
 
82
        if s.err != nil {
 
83
                return nil, s.err
 
84
        }
 
85
        return s.meta, nil
 
86
}
 
87
 
 
88
func (s *FakeMetadataStorage) ListMetadata() ([]filestorage.Metadata, error) {
 
89
        s.calls = append(s.calls, "ListMetadata")
 
90
        if s.err != nil {
 
91
                return nil, s.err
 
92
        }
 
93
        return s.metaList, nil
 
94
}
 
95
 
 
96
func (s *FakeMetadataStorage) AddMetadata(meta filestorage.Metadata) (string, error) {
 
97
        s.calls = append(s.calls, "AddMetadata")
 
98
        s.metaArg = meta
 
99
        if s.err != nil {
 
100
                return "", s.err
 
101
        }
 
102
        return s.id, nil
 
103
}
 
104
 
 
105
func (s *FakeMetadataStorage) RemoveMetadata(id string) error {
 
106
        s.calls = append(s.calls, "RemoveMetadata")
 
107
        s.idArg = id
 
108
        return s.err
 
109
}
 
110
 
 
111
func (s *FakeMetadataStorage) SetStored(id string) error {
 
112
        s.calls = append(s.calls, "SetStored")
 
113
        s.idArg = id
 
114
        return s.err
 
115
}
 
116
 
 
117
// FakeRawFileStorage is used in testing as a RawFileStorage.
 
118
type FakeRawFileStorage struct {
 
119
        calls []string
 
120
 
 
121
        file io.ReadCloser
 
122
        err  error
 
123
 
 
124
        idArg   string
 
125
        fileArg io.Reader
 
126
        sizeArg int64
 
127
}
 
128
 
 
129
// Check verfies the state of the fake.
 
130
func (s *FakeRawFileStorage) Check(c *gc.C, id string, file io.Reader, size int64, calls ...string) {
 
131
        c.Check(s.calls, jc.DeepEquals, calls)
 
132
        c.Check(s.idArg, gc.Equals, id)
 
133
        c.Check(s.fileArg, gc.Equals, file)
 
134
        c.Check(s.sizeArg, gc.Equals, size)
 
135
}
 
136
 
 
137
// CheckNotUsed verifies that the fake was not used.
 
138
func (s *FakeRawFileStorage) CheckNotUsed(c *gc.C) {
 
139
        s.Check(c, "", nil, 0)
 
140
}
 
141
 
 
142
func (s *FakeRawFileStorage) File(id string) (io.ReadCloser, error) {
 
143
        s.calls = append(s.calls, "File")
 
144
        s.idArg = id
 
145
        if s.err != nil {
 
146
                return nil, s.err
 
147
        }
 
148
        return s.file, nil
 
149
}
 
150
 
 
151
func (s *FakeRawFileStorage) AddFile(id string, file io.Reader, size int64) error {
 
152
        s.calls = append(s.calls, "AddFile")
 
153
        s.idArg = id
 
154
        s.fileArg = file
 
155
        s.sizeArg = size
 
156
        return s.err
 
157
}
 
158
 
 
159
func (s *FakeRawFileStorage) RemoveFile(id string) error {
 
160
        s.calls = append(s.calls, "RemoveFile")
 
161
        s.idArg = id
 
162
        return s.err
 
163
}
 
164
 
 
165
func (s *FakeRawFileStorage) Close() error {
 
166
        s.calls = append(s.calls, "Close")
 
167
        return s.err
 
168
}