Revision 36162faf test/hs/Test/Ganeti/Query/Query.hs
b/test/hs/Test/Ganeti/Query/Query.hs | ||
---|---|---|
7 | 7 |
|
8 | 8 |
{- |
9 | 9 |
|
10 |
Copyright (C) 2009, 2010, 2011, 2012 Google Inc. |
|
10 |
Copyright (C) 2009, 2010, 2011, 2012, 2013 Google Inc.
|
|
11 | 11 |
|
12 | 12 |
This program is free software; you can redistribute it and/or modify |
13 | 13 |
it under the terms of the GNU General Public License as published by |
... | ... | |
45 | 45 |
import Ganeti.BasicTypes |
46 | 46 |
import Ganeti.Errors |
47 | 47 |
import Ganeti.Query.Filter |
48 |
import Ganeti.Query.Group
|
|
48 |
import qualified Ganeti.Query.Group as Group
|
|
49 | 49 |
import Ganeti.Query.Language |
50 |
import Ganeti.Query.Node
|
|
50 |
import qualified Ganeti.Query.Node as Node
|
|
51 | 51 |
import Ganeti.Query.Query |
52 | 52 |
import qualified Ganeti.Query.Job as Job |
53 | 53 |
|
... | ... | |
68 | 68 |
prop_queryNode_noUnknown :: Property |
69 | 69 |
prop_queryNode_noUnknown = |
70 | 70 |
forAll (choose (0, maxNodes) >>= genEmptyCluster) $ \cluster -> |
71 |
forAll (elements (Map.keys nodeFieldsMap)) $ \field -> monadicIO $ do
|
|
71 |
forAll (elements (Map.keys Node.fieldsMap)) $ \field -> monadicIO $ do
|
|
72 | 72 |
QueryResult fdefs fdata <- |
73 | 73 |
run (query cluster False (Query (ItemTypeOpCode QRNode) |
74 | 74 |
[field] EmptyFilter)) >>= resultProp |
... | ... | |
88 | 88 |
prop_queryNode_Unknown :: Property |
89 | 89 |
prop_queryNode_Unknown = |
90 | 90 |
forAll (choose (0, maxNodes) >>= genEmptyCluster) $ \cluster -> |
91 |
forAll (arbitrary `suchThat` (`notElem` Map.keys nodeFieldsMap))
|
|
91 |
forAll (arbitrary `suchThat` (`notElem` Map.keys Node.fieldsMap))
|
|
92 | 92 |
$ \field -> monadicIO $ do |
93 | 93 |
QueryResult fdefs fdata <- |
94 | 94 |
run (query cluster False (Query (ItemTypeOpCode QRNode) |
... | ... | |
136 | 136 |
prop_queryNode_types = |
137 | 137 |
forAll (choose (0, maxNodes)) $ \numnodes -> |
138 | 138 |
forAll (genEmptyCluster numnodes) $ \cfg -> |
139 |
forAll (elements (Map.keys nodeFieldsMap)) $ \field -> monadicIO $ do
|
|
139 |
forAll (elements (Map.keys Node.fieldsMap)) $ \field -> monadicIO $ do
|
|
140 | 140 |
QueryResult fdefs fdata <- |
141 | 141 |
run (query cfg False (Query (ItemTypeOpCode QRNode) |
142 | 142 |
[field] EmptyFilter)) >>= resultProp |
... | ... | |
160 | 160 |
Ok (QueryFieldsResult v) -> return v |
161 | 161 |
let field_sort = compare `on` fdefName |
162 | 162 |
assertEqual "Mismatch in all fields list" |
163 |
(sortBy field_sort . map (\(f, _, _) -> f) $ Map.elems nodeFieldsMap)
|
|
163 |
(sortBy field_sort . map (\(f, _, _) -> f) $ Map.elems Node.fieldsMap)
|
|
164 | 164 |
(sortBy field_sort fdefs) |
165 | 165 |
|
166 | 166 |
-- ** Group queries |
... | ... | |
168 | 168 |
prop_queryGroup_noUnknown :: Property |
169 | 169 |
prop_queryGroup_noUnknown = |
170 | 170 |
forAll (choose (0, maxNodes) >>= genEmptyCluster) $ \cluster -> |
171 |
forAll (elements (Map.keys groupFieldsMap)) $ \field -> monadicIO $ do
|
|
171 |
forAll (elements (Map.keys Group.fieldsMap)) $ \field -> monadicIO $ do
|
|
172 | 172 |
QueryResult fdefs fdata <- |
173 | 173 |
run (query cluster False (Query (ItemTypeOpCode QRGroup) |
174 | 174 |
[field] EmptyFilter)) >>= |
... | ... | |
188 | 188 |
prop_queryGroup_Unknown :: Property |
189 | 189 |
prop_queryGroup_Unknown = |
190 | 190 |
forAll (choose (0, maxNodes) >>= genEmptyCluster) $ \cluster -> |
191 |
forAll (arbitrary `suchThat` (`notElem` Map.keys groupFieldsMap))
|
|
191 |
forAll (arbitrary `suchThat` (`notElem` Map.keys Group.fieldsMap))
|
|
192 | 192 |
$ \field -> monadicIO $ do |
193 | 193 |
QueryResult fdefs fdata <- |
194 | 194 |
run (query cluster False (Query (ItemTypeOpCode QRGroup) |
... | ... | |
212 | 212 |
prop_queryGroup_types = |
213 | 213 |
forAll (choose (0, maxNodes)) $ \numnodes -> |
214 | 214 |
forAll (genEmptyCluster numnodes) $ \cfg -> |
215 |
forAll (elements (Map.keys groupFieldsMap)) $ \field -> monadicIO $ do
|
|
215 |
forAll (elements (Map.keys Group.fieldsMap)) $ \field -> monadicIO $ do
|
|
216 | 216 |
QueryResult fdefs fdata <- |
217 | 217 |
run (query cfg False (Query (ItemTypeOpCode QRGroup) |
218 | 218 |
[field] EmptyFilter)) >>= resultProp |
... | ... | |
232 | 232 |
Ok (QueryFieldsResult v) -> return v |
233 | 233 |
let field_sort = compare `on` fdefName |
234 | 234 |
assertEqual "Mismatch in all fields list" |
235 |
(sortBy field_sort . map (\(f, _, _) -> f) $ Map.elems groupFieldsMap)
|
|
235 |
(sortBy field_sort . map (\(f, _, _) -> f) $ Map.elems Group.fieldsMap)
|
|
236 | 236 |
(sortBy field_sort fdefs) |
237 | 237 |
|
238 | 238 |
-- ** Job queries |
Also available in: Unified diff