Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit4ee139a

Browse files
author
Gauvain Pocentek
committed
Add unit tests for mixin exceptions
1 parenta1b097c commit4ee139a

File tree

3 files changed

+94
-2
lines changed

3 files changed

+94
-2
lines changed

‎RELEASE_NOTES.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Changes from 1.1 to 1.2
1616
``set_token`` and ``set_credentials`` methods. Once a Gitlab object has been
1717
created its URL and authentication information cannot be updated: create a
1818
new Gitlab object if you need to use new information
19+
* The ``todo()`` method raises a ``GitlabTodoError`` exception on error
1920

2021
Changes from 1.0.2 to 1.1
2122
=========================

‎gitlab/mixins.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,12 @@ def get(self, id, **kwargs):
113113
GitlabAuthenticationError: If authentication is not correct
114114
GitlabGetError: If the server cannot perform the request
115115
"""
116-
gen=self.list()
116+
try:
117+
gen=self.list()
118+
exceptexc.GitlabListError:
119+
raiseexc.GitlabGetError(response_code=404,
120+
error_message="Not found")
121+
117122
forobjingen:
118123
ifstr(obj.get_id())==str(id):
119124
returnobj
@@ -382,7 +387,7 @@ def unsubscribe(self, **kwargs):
382387

383388
classTodoMixin(object):
384389
@cli.register_custom_action(('ProjectIssue','ProjectMergeRequest'))
385-
@exc.on_http_error(exc.GitlabHttpError)
390+
@exc.on_http_error(exc.GitlabTodoError)
386391
deftodo(self,**kwargs):
387392
"""Create a todo associated to the object.
388393

‎gitlab/tests/test_mixins.py

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,3 +434,89 @@ def resp_cont(url, request):
434434
self.assertIsInstance(obj,FakeObject)
435435
self.assertEqual(obj.key,'foo')
436436
self.assertEqual(obj.value,'bar')
437+
438+
439+
classTestExceptions(unittest.TestCase):
440+
defsetUp(self):
441+
self.gl=Gitlab("http://localhost",private_token="private_token",
442+
api_version=4)
443+
444+
deftest_get_mixin(self):
445+
classM(GetMixin,FakeManager):
446+
pass
447+
448+
m=M(self.gl)
449+
self.assertRaises(GitlabGetError,m.get,1)
450+
451+
deftest_get_without_id_mixin(self):
452+
classM(GetWithoutIdMixin,FakeManager):
453+
pass
454+
455+
m=M(self.gl)
456+
self.assertRaises(GitlabGetError,m.get)
457+
458+
deftest_list_mixin(self):
459+
classM(ListMixin,FakeManager):
460+
pass
461+
462+
m=M(self.gl)
463+
self.assertRaises(GitlabListError,m.list)
464+
465+
deftest_get_from_list_mixin(self):
466+
classM(GetFromListMixin,FakeManager):
467+
pass
468+
469+
m=M(self.gl)
470+
self.assertRaises(GitlabListError,m.list)
471+
self.assertRaises(GitlabGetError,m.get,1)
472+
473+
deftest_create_mixin(self):
474+
classM(CreateMixin,FakeManager):
475+
pass
476+
477+
m=M(self.gl)
478+
self.assertRaises(GitlabCreateError,m.create, {})
479+
480+
deftest_update_mixin(self):
481+
classM(UpdateMixin,FakeManager):
482+
pass
483+
484+
m=M(self.gl)
485+
self.assertRaises(GitlabUpdateError,m.update,1, {})
486+
487+
deftest_set_mixin(self):
488+
classM(SetMixin,FakeManager):
489+
pass
490+
491+
m=M(self.gl)
492+
self.assertRaises(GitlabSetError,m.set,'foo','bar')
493+
494+
deftest_delete_mixin(self):
495+
classM(DeleteMixin,FakeManager):
496+
pass
497+
498+
m=M(self.gl)
499+
self.assertRaises(GitlabDeleteError,m.delete,1)
500+
501+
deftest_object_mixin(self):
502+
classM(UpdateMixin,DeleteMixin,FakeManager):
503+
pass
504+
505+
classO(SaveMixin,ObjectDeleteMixin,AccessRequestMixin,
506+
SubscribableMixin,TodoMixin,TimeTrackingMixin,RESTObject):
507+
pass
508+
509+
mgr=M(self.gl)
510+
obj=O(mgr, {'id':42,'foo':'bar'})
511+
obj.foo='baz'
512+
self.assertRaises(GitlabUpdateError,obj.save)
513+
self.assertRaises(GitlabDeleteError,obj.delete)
514+
self.assertRaises(GitlabUpdateError,obj.approve)
515+
self.assertRaises(GitlabSubscribeError,obj.subscribe)
516+
self.assertRaises(GitlabUnsubscribeError,obj.unsubscribe)
517+
self.assertRaises(GitlabTodoError,obj.todo)
518+
self.assertRaises(GitlabTimeTrackingError,obj.time_stats)
519+
self.assertRaises(GitlabTimeTrackingError,obj.time_estimate,'1d')
520+
self.assertRaises(GitlabTimeTrackingError,obj.reset_time_estimate)
521+
self.assertRaises(GitlabTimeTrackingError,obj.add_spent_time,'1d')
522+
self.assertRaises(GitlabTimeTrackingError,obj.reset_spent_time)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp