33from redminelib import exceptions
44
55response = {
6- 'projects ' : [
7- {'name ' : 'Foo' , 'identifier ' : 'foo' , 'id ' : 1 },
8- {'name ' : 'Bar' , 'identifier ' : 'bar' , 'id ' : 2 },
9- {'name ' : 'Baz' , 'identifier ' : 'baz' , 'id ' : 3 },
6+ 'issues ' : [
7+ {'subject ' : 'Foo' , 'id ' : 1 , 'tracker_id ' : 1 },
8+ {'subject ' : 'Bar' , 'id ' : 2 , 'tracker_id ' : 2 },
9+ {'subject ' : 'Baz' , 'id ' : 3 , 'tracker_id ' : 3 },
1010 ]
1111}
1212
@@ -17,159 +17,151 @@ def setUp(self):
1717 self .response .json = mock .Mock (return_value = response )
1818
1919 def test_has_custom_repr (self ):
20- self .assertEqual (repr (self .redmine .project .all ()),
21- '<redminelib.resultsets.ResourceSet object with Project resources>' )
20+ self .assertEqual (repr (self .redmine .issue .all ()),
21+ '<redminelib.resultsets.ResourceSet object with Issue resources>' )
2222
2323 def test_offset_limit_all (self ):
2424 self .response .json .return_value = dict (total_count = 3 , limit = 0 , offset = 0 , ** response )
25- projects = self .redmine .project .all ()
26- self .assertEqual (projects .limit , 0 )
27- self .assertEqual (projects .offset , 0 )
28- self .assertEqual (projects [0 ].id , 1 )
29- self .assertEqual (projects [1 ].id , 2 )
30- self .assertEqual (projects [2 ].id , 3 )
25+ issues = self .redmine .issue .all ()
26+ self .assertEqual (issues .limit , 0 )
27+ self .assertEqual (issues .offset , 0 )
28+ self .assertEqual (issues [0 ].id , 1 )
29+ self .assertEqual (issues [1 ].id , 2 )
30+ self .assertEqual (issues [2 ].id , 3 )
3131
3232 def test_offset_limit (self ):
3333 self .response .json .return_value = {
34- 'total_count' : 2 , 'limit' : 300 , 'offset' : 1 , 'projects ' : response ['projects ' ][1 :3 ]}
35- projects = self .redmine .project .all ()[1 :300 ]
36- self .assertEqual (projects .limit , 300 )
37- self .assertEqual (projects .offset , 1 )
38- self .assertEqual (projects [0 ].id , 2 )
39- self .assertEqual (projects [1 ].id , 3 )
40- self .assertEqual (projects [:1 ][0 ].id , 2 )
41- self .assertEqual (projects [1 :][0 ].id , 3 )
42- self .assertEqual (projects [1 :1 ][0 ].id , 3 )
34+ 'total_count' : 2 , 'limit' : 300 , 'offset' : 1 , 'issues ' : response ['issues ' ][1 :3 ]}
35+ issues = self .redmine .issue .all ()[1 :300 ]
36+ self .assertEqual (issues .limit , 300 )
37+ self .assertEqual (issues .offset , 1 )
38+ self .assertEqual (issues [0 ].id , 2 )
39+ self .assertEqual (issues [1 ].id , 3 )
40+ self .assertEqual (issues [:1 ][0 ].id , 2 )
41+ self .assertEqual (issues [1 :][0 ].id , 3 )
42+ self .assertEqual (issues [1 :1 ][0 ].id , 3 )
4343
4444 def test_offset_limit_mimic (self ):
45- projects = self .redmine .project .all ()[1 :3 ]
46- self .assertEqual (projects .limit , 3 )
47- self .assertEqual (projects .offset , 1 )
48- self .assertEqual (projects [0 ].id , 2 )
49- self .assertEqual (projects [1 ].id , 3 )
45+ issues = self .redmine .issue .all ()[1 :3 ]
46+ self .assertEqual (issues .limit , 3 )
47+ self .assertEqual (issues .offset , 1 )
48+ self .assertEqual (issues [0 ].id , 2 )
49+ self .assertEqual (issues [1 ].id , 3 )
5050
5151 def test_total_count (self ):
5252 self .response .json .return_value = dict (total_count = 3 , limit = 0 , offset = 0 , ** response )
53- projects = self .redmine .project .all ()
54- len (projects )
55- self .assertEqual (projects .total_count , 3 )
53+ issues = self .redmine .issue .all ()
54+ len (issues )
55+ self .assertEqual (issues .total_count , 3 )
5656
5757 def test_total_count_mimic (self ):
58- response_with_custom_fields = {'project ' : dict (response [ 'projects' ][ 0 ], custom_fields = [{'id' : 1 , 'value' : 0 }])}
59- self .response .json .return_value = response_with_custom_fields
60- project = self .redmine .project .get ('foo' )
61- self .assertEqual (project .custom_fields .total_count , 1 )
58+ response_with_cf = {'issue ' : dict (custom_fields = [{'id' : 1 , 'value' : 0 }], ** response [ 'issues' ][ 0 ])}
59+ self .response .json .return_value = response_with_cf
60+ issue = self .redmine .issue .get (1 )
61+ self .assertEqual (issue .custom_fields .total_count , 1 )
6262
6363 def test_total_count_raise_exception_if_not_evaluated (self ):
64- self .assertRaises (exceptions .ResultSetTotalCountError , lambda : self .redmine .project .all ().total_count )
64+ self .assertRaises (exceptions .ResultSetTotalCountError , lambda : self .redmine .issue .all ().total_count )
6565
6666 def test_resultset_is_empty (self ):
67- self .response .json .return_value = {'limit' : 100 , 'projects ' : [], 'total_count' : 0 , 'offset' : 0 }
68- projects = self .redmine .project .all ()
69- self .assertEqual (len (projects ), 0 )
70- self .assertEqual (list (projects ), [])
67+ self .response .json .return_value = {'limit' : 100 , 'issues ' : [], 'total_count' : 0 , 'offset' : 0 }
68+ issues = self .redmine .issue .all ()
69+ self .assertEqual (len (issues ), 0 )
70+ self .assertEqual (list (issues ), [])
7171
7272 def test_sliced_resultset_is_empty (self ):
73- self .response .json .return_value = {'limit' : 100 , 'projects ' : [], 'total_count' : 0 , 'offset' : 0 }
74- projects = self .redmine .project .all ()[:200 ]
75- self .assertEqual (len (projects ), 0 )
76- self .assertEqual (list (projects ), [])
73+ self .response .json .return_value = {'limit' : 100 , 'issues ' : [], 'total_count' : 0 , 'offset' : 0 }
74+ issues = self .redmine .issue .all ()[:200 ]
75+ self .assertEqual (len (issues ), 0 )
76+ self .assertEqual (list (issues ), [])
7777
7878 def test_supports_iteration (self ):
79- projects = list (self .redmine .project .all ())
80- self .assertEqual (projects [0 ].name , 'Foo' )
81- self .assertEqual (projects [0 ].identifier , 'foo' )
82- self .assertEqual (projects [0 ].id , 1 )
83- self .assertEqual (projects [1 ].name , 'Bar' )
84- self .assertEqual (projects [1 ].identifier , 'bar' )
85- self .assertEqual (projects [1 ].id , 2 )
79+ issues = list (self .redmine .issue .all ())
80+ self .assertEqual (issues [0 ].subject , 'Foo' )
81+ self .assertEqual (issues [0 ].id , 1 )
82+ self .assertEqual (issues [1 ].subject , 'Bar' )
83+ self .assertEqual (issues [1 ].id , 2 )
8684
8785 def test_supports_len (self ):
88- self .assertEqual (len (self .redmine .project .all ()), 3 )
86+ self .assertEqual (len (self .redmine .issue .all ()), 3 )
8987
9088 def test_get_method_resource_found (self ):
91- projects = self .redmine .project .all ().get (2 )
92- self .assertEqual (projects .id , 2 )
89+ issues = self .redmine .issue .all ().get (2 )
90+ self .assertEqual (issues .id , 2 )
9391
9492 def test_get_method_resource_not_found (self ):
95- projects = self .redmine .project .all ().get (6 )
96- self .assertEqual (projects , None )
93+ issues = self .redmine .issue .all ().get (6 )
94+ self .assertEqual (issues , None )
9795
9896 def test_filter_method (self ):
99- projects = self .redmine .project .all ().filter ((1 , 3 ))
100- self .assertEqual (projects [0 ].id , 1 )
101- self .assertEqual (projects [1 ].id , 3 )
97+ issues = self .redmine .issue .all ().filter ((1 , 3 ))
98+ self .assertEqual (issues [0 ].id , 1 )
99+ self .assertEqual (issues [1 ].id , 3 )
102100
103101 def test_update_method (self ):
104- projects = self .redmine .project .all ().update (name = 'FooBar' )
105- self .assertEqual (projects [0 ].name , 'FooBar' )
106- self .assertEqual (projects [1 ].name , 'FooBar' )
107- self .assertEqual (projects [2 ].name , 'FooBar' )
102+ issues = self .redmine .issue .all ().update (subject = 'FooBar' )
103+ self .assertEqual (issues [0 ].subject , 'FooBar' )
104+ self .assertEqual (issues [1 ].subject , 'FooBar' )
105+ self .assertEqual (issues [2 ].subject , 'FooBar' )
108106
109107 def test_delete_method (self ):
110- self .assertEqual (self .redmine .project .all ().delete (), True )
108+ self .assertEqual (self .redmine .issue .all ().delete (), True )
111109
112110 def test_resourceset_is_picklable (self ):
113111 import pickle
114- projects = self .redmine .project .all ()
115- unpickled_projects = pickle .loads (pickle .dumps (projects ))
116- self .assertEqual (projects [0 ]['name ' ], unpickled_projects [0 ]['name ' ])
117- self .assertEqual (projects [1 ]['name ' ], unpickled_projects [1 ]['name ' ])
118- self .assertEqual (projects [2 ]['name ' ], unpickled_projects [2 ]['name ' ])
112+ issues = self .redmine .issue .all ()
113+ unpickled_issues = pickle .loads (pickle .dumps (issues ))
114+ self .assertEqual (issues [0 ]['subject ' ], unpickled_issues [0 ]['subject ' ])
115+ self .assertEqual (issues [1 ]['subject ' ], unpickled_issues [1 ]['subject ' ])
116+ self .assertEqual (issues [2 ]['subject ' ], unpickled_issues [2 ]['subject ' ])
119117
120118 def test_values_method (self ):
121- projects = list (self .redmine .project .all ().values ())
122- self .assertEqual (projects [0 ]['name' ], 'Foo' )
123- self .assertEqual (projects [0 ]['identifier' ], 'foo' )
124- self .assertEqual (projects [0 ]['id' ], 1 )
125- self .assertEqual (projects [1 ]['name' ], 'Bar' )
126- self .assertEqual (projects [1 ]['identifier' ], 'bar' )
127- self .assertEqual (projects [1 ]['id' ], 2 )
128- self .assertEqual (projects [2 ]['name' ], 'Baz' )
129- self .assertEqual (projects [2 ]['identifier' ], 'baz' )
130- self .assertEqual (projects [2 ]['id' ], 3 )
119+ issues = list (self .redmine .issue .all ().values ())
120+ self .assertEqual (issues [0 ]['subject' ], 'Foo' )
121+ self .assertEqual (issues [0 ]['id' ], 1 )
122+ self .assertEqual (issues [1 ]['subject' ], 'Bar' )
123+ self .assertEqual (issues [1 ]['id' ], 2 )
124+ self .assertEqual (issues [2 ]['subject' ], 'Baz' )
125+ self .assertEqual (issues [2 ]['id' ], 3 )
131126
132127 def test_values_method_with_fields (self ):
133- projects = list (self .redmine .project .all ().values ('name ' , 'id' ))
134- self .assertEqual (len (projects [0 ]), 2 )
135- self .assertEqual (projects [0 ]['name ' ], 'Foo' )
136- self .assertEqual (projects [0 ]['id' ], 1 )
137- self .assertEqual (len (projects [1 ]), 2 )
138- self .assertEqual (projects [1 ]['name ' ], 'Bar' )
139- self .assertEqual (projects [1 ]['id' ], 2 )
140- self .assertEqual (len (projects [2 ]), 2 )
141- self .assertEqual (projects [2 ]['name ' ], 'Baz' )
142- self .assertEqual (projects [2 ]['id' ], 3 )
128+ issues = list (self .redmine .issue .all ().values ('subject ' , 'id' ))
129+ self .assertEqual (len (issues [0 ]), 2 )
130+ self .assertEqual (issues [0 ]['subject ' ], 'Foo' )
131+ self .assertEqual (issues [0 ]['id' ], 1 )
132+ self .assertEqual (len (issues [1 ]), 2 )
133+ self .assertEqual (issues [1 ]['subject ' ], 'Bar' )
134+ self .assertEqual (issues [1 ]['id' ], 2 )
135+ self .assertEqual (len (issues [2 ]), 2 )
136+ self .assertEqual (issues [2 ]['subject ' ], 'Baz' )
137+ self .assertEqual (issues [2 ]['id' ], 3 )
143138
144139 def test_values_list_method (self ):
145- projects = list (self .redmine .project .all ().values_list ())
146- self .assertIn ('Foo' , projects [0 ])
147- self .assertIn ('foo' , projects [0 ])
148- self .assertIn (1 , projects [0 ])
149- self .assertIn ('Bar' , projects [1 ])
150- self .assertIn ('bar' , projects [1 ])
151- self .assertIn (2 , projects [1 ])
152- self .assertIn ('Baz' , projects [2 ])
153- self .assertIn ('baz' , projects [2 ])
154- self .assertIn (3 , projects [2 ])
140+ issues = list (self .redmine .issue .all ().values_list ())
141+ self .assertIn ('Foo' , issues [0 ])
142+ self .assertIn (1 , issues [0 ])
143+ self .assertIn ('Bar' , issues [1 ])
144+ self .assertIn (2 , issues [1 ])
145+ self .assertIn ('Baz' , issues [2 ])
146+ self .assertIn (3 , issues [2 ])
155147
156148 def test_values_list_method_with_fields (self ):
157- projects = list (self .redmine .project .all ().values_list ('id' , 'name ' ))
158- self .assertEqual (len (projects [0 ]), 2 )
159- self .assertEqual (projects [0 ][0 ], 1 )
160- self .assertEqual (projects [0 ][1 ], 'Foo' )
161- self .assertEqual (len (projects [1 ]), 2 )
162- self .assertEqual (projects [1 ][0 ], 2 )
163- self .assertEqual (projects [1 ][1 ], 'Bar' )
164- self .assertEqual (len (projects [2 ]), 2 )
165- self .assertEqual (projects [2 ][0 ], 3 )
166- self .assertEqual (projects [2 ][1 ], 'Baz' )
149+ issues = list (self .redmine .issue .all ().values_list ('id' , 'subject ' ))
150+ self .assertEqual (len (issues [0 ]), 2 )
151+ self .assertEqual (issues [0 ][0 ], 1 )
152+ self .assertEqual (issues [0 ][1 ], 'Foo' )
153+ self .assertEqual (len (issues [1 ]), 2 )
154+ self .assertEqual (issues [1 ][0 ], 2 )
155+ self .assertEqual (issues [1 ][1 ], 'Bar' )
156+ self .assertEqual (len (issues [2 ]), 2 )
157+ self .assertEqual (issues [2 ][0 ], 3 )
158+ self .assertEqual (issues [2 ][1 ], 'Baz' )
167159
168160 def test_values_list_method_flattened (self ):
169- projects = list (self .redmine .project .all ().values_list ('id' , flat = True ))
170- self .assertEqual (projects [0 ], 1 )
171- self .assertEqual (projects [1 ], 2 )
172- self .assertEqual (projects [2 ], 3 )
161+ issues = list (self .redmine .issue .all ().values_list ('id' , flat = True ))
162+ self .assertEqual (issues [0 ], 1 )
163+ self .assertEqual (issues [1 ], 2 )
164+ self .assertEqual (issues [2 ], 3 )
173165
174166 @mock .patch ('redminelib.open' , mock .mock_open (), create = True )
175167 def test_export (self ):
@@ -191,4 +183,4 @@ def test_filter_param_exception(self):
191183 self .assertRaises (exceptions .ResourceSetFilterParamError , lambda : self .redmine .project .all ().filter (1 ))
192184
193185 def test_index_error_exception (self ):
194- self .assertRaises (exceptions .ResourceSetIndexError , lambda : self .redmine .project .all ()[6 ])
186+ self .assertRaises (exceptions .ResourceSetIndexError , lambda : self .redmine .issue .all ()[6 ])
0 commit comments