# Copyright 2012 Vincent Jacques # vincent@vincent-jacques.net # This file is part of PyGithub. http://vincent-jacques.net/PyGithub # PyGithub is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License # as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. # PyGithub is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. # You should have received a copy of the GNU Lesser General Public License along with PyGithub. If not, see . import Framework import datetime class Hook( Framework.TestCase ): def setUp( self ): Framework.TestCase.setUp( self ) self.hook = self.g.get_user().get_repo( "PyGithub" ).get_hook( 257993 ) def testAttributes( self ): self.assertEqual( self.hook.active, True ) # WTF self.assertEqual( self.hook.config, { "url": "http://foobar.com" } ) self.assertEqual( self.hook.created_at, datetime.datetime( 2012, 5, 19, 6, 1, 45 ) ) self.assertEqual( self.hook.events, [ "push" ] ) self.assertEqual( self.hook.id, 257993 ) self.assertEqual( self.hook.last_response.status, "ok" ) self.assertEqual( self.hook.last_response.message, "OK" ) self.assertEqual( self.hook.last_response.code, 200 ) self.assertEqual( self.hook.name, "web" ) self.assertEqual( self.hook.updated_at, datetime.datetime( 2012, 5, 29, 18, 49, 47 ) ) self.assertEqual( self.hook.url, "https://api.github.com/repos/jacquev6/PyGithub/hooks/257993" ) def testEditWithMinimalParameters( self ): self.hook.edit( "web", { "url": "http://foobar.com/hook" } ) self.assertEqual( self.hook.config, { "url": "http://foobar.com/hook" } ) self.assertEqual( self.hook.updated_at, datetime.datetime( 2012, 5, 19, 5, 8, 16 ) ) def testDelete( self ): self.hook.delete() def testTest( self ): self.hook.test() # This does not update attributes of hook def testEditWithAllParameters( self ): self.hook.edit( "web", { "url": "http://foobar.com" }, events = [ "fork", "push" ] ) self.assertEqual( self.hook.events, [ "fork", "push" ] ) self.hook.edit( "web", { "url": "http://foobar.com" }, add_events = [ "push" ] ) self.assertEqual( self.hook.events, [ "fork", "push" ] ) self.hook.edit( "web", { "url": "http://foobar.com" }, remove_events = [ "fork" ] ) self.assertEqual( self.hook.events, [ "push" ] ) self.hook.edit( "web", { "url": "http://foobar.com" }, active = True ) self.assertEqual( self.hook.active, True )