def testHandlersAllSupportedFilters(self):
		client = PyClient()
		client.debugReturn = {
			'data': '{"x": [], "meta": {"pagination": {}}}',
			'status': 200
		}

		for e in self._handlerCollection:
			if 0 <= 1 < len(e) and e[1] == 'requiresIDInConstructor':
				inst = e[0](client, 999)
			else:
				inst = e[0](client)

			inst.all({'include': ''})
			inst.all({'limit': 10})
			inst.all({'page': 2})
Exemple #2
0
def start_game(params, name):
    pygame.init()
    clock = pygame.time.Clock()
    screen = pygame.display.set_mode(
        (params['screen']['width'], params['screen']['height']), 0, 32)
    pygame.display.set_caption('Pymagotchi')
    font = pygame.font.Font('Sans.ttf', 12)

    # Ouverture de la connexion
    connexion = PyClient(port=15130)
    Thread(target=connexion.start).start()

    # Lecture des sprites
    sprites = read_sprites(screen, params)

    # Création du Pymagotchi
    pymagotchi = Pymagotchi(name)
    connexion.hello(name)
    # Salutation
    sleep(1)
    for other_pymagotchi in connexion.get_result().split(':'):
        if other_pymagotchi != '':
            print(f'Salut : {other_pymagotchi}')

    # Initialisation du timer
    timer = Timer(pygame.time.get_ticks())

    while True:
        screen.fill(params['color']['background'])

        # Gestion des événements
        for event in pygame.event.get():
            if event.type == QUIT:
                connexion.quit()
                pygame.quit()
                exit(0)

        # Événement du Pymagotchi
        if timer.isDuration(1, pygame.time.get_ticks()):
            pymagotchi.events()

        # Affichage de l'animation
        pygame.time.wait(100)
        animation(pymagotchi.get_state(), sprites)

        # Affichage des statistiques
        statistics(screen, font, pymagotchi)

        # Mise à jour du contenu de la fenêtre
        pygame.display.update()
        clock.tick(params['screen']['fps'])
Exemple #3
0
 print "Choose one of the options below:"
 print "1. Basic Ping Request to this MOOC"
 print "2. List Courses on this MOOC"
 print "3. Get Description for a course"
 print "4. Contest Competition"
 print "5. Get More Courses from other MOOC's"
 print "6. Mock Inter-Mooc request"
 print "7. Quit"
 
 choice = int(input("\nYour Option -> "))
 if choice == 1:
     #Sending Ping Request to Server
     requestType = "ping"
     host = str(input("Enter host: "))
     port = int(input("Enter port: "))
     PyClient().chooseOperation(requestType, host, port)
 elif choice == 2:
     #Sending ListCourses Request to Server
     requestType = "listcourses"
     host = str(input("Enter host: "))
     port = int(input("Enter port: "))
     PyClient().chooseOperation(requestType, host, port)
 elif choice == 3:
     #Sending GetDescription Request to Server
     requestType = "getdescription"
     host = str(input("Enter host: "))
     port = int(input("Enter port: "))
     PyClient().chooseOperation(requestType, host, port)
 elif choice == 4:
     #Sending Competition Request to Server
     requestType = "competition"
Exemple #4
0
	client.fatal("Game over", 666)
	client.debug("Elvis has entered the building")
	client.activate().zoomout().debug("Action!!!")



### API


"""

from PyClient import PyClient
from utils import classproperty
import sys

pyclient = PyClient()


class client:
    @classmethod
    def activate(self, window_title=None):
        """
		 - `client.activate([window_title = "Die Siedler Online"])`  
		   Tries to find game window, activate it and recognize flash-plugin dimensions.  
		   Returns `self`.
		"""
        # searching and activating browser window
        if not pyclient.activate(window_title):
            self.fatal('Failed to find or activate game window')
        return self
 def testTokenParseStorage(self):
     tokenName = "__token__test__"
     client = PyClient()
     client.attachToken(tokenName)
     self.assertEqual(client.getCurrentToken(), tokenName)
	def setUp(self):
		self._client = PyClient()
		self._client.attachToken('6cOb1uNIMFyyJQdK33N9lxjECw5AJom1L3iKcVPw')
class LiveRequestsTest(unittest.TestCase):

	_client = None

	_sampleProjectID = 3515
	_sampleBugID = 38483
	_sampleOrganizationID = 2464
	_sampleAttachmmentID = 21515
	_samplePlatformTypeID = 1
	_sampleDeviceID = 11
	_sampleOSID = 1
	_sampleBrowserId = 1


	def setUp(self):
		self._client = PyClient()
		self._client.attachToken('6cOb1uNIMFyyJQdK33N9lxjECw5AJom1L3iKcVPw')



	# USER
	def testGetUserInformation(self):
		info = self._client.user.getInformation()

		self.assertIsInstance(info, dict)

		self.assertTrue('id' in info)
		self.assertTrue('username' in info)
		self.assertTrue('first_name' in info)
		self.assertTrue('last_name' in info)
		self.assertTrue('email' in info)
	def testGetUserOrganizations(self):
		org = self._client.user.organizations.all().toArray()

		self.assertIsInstance(org, list)

		self.assertTrue(len(org) >= 1)

		self.assertTrue('id' in org[0])
		self.assertTrue('name' in org[0])
	# END USER




	# PROJECT
	def testListAllProjects(self):
		prj = self._client.projects.all().toArray()

		self.assertIsInstance(prj, list)

		self.assertTrue(len(prj) >= 1)

		self.assertTrue('id' in prj[0])
		self.assertTrue('name' in prj[0])
		self.assertTrue('owner_id' in prj[0])
		self.assertTrue('organization_id' in prj[0])
	def testCreateNewProject(self):
		_name = 'Project135'
		_orgid = self._sampleOrganizationID

		newProject = self._client.projects.create({
			'name': _name,
			'organization_id': _orgid
		})

		data = newProject.data

		self.assertIsInstance(data, dict)

		self.assertTrue('id' in data)
		self.assertTrue('name' in data)
		self.assertTrue('owner_id' in data)
		self.assertTrue('organization_id' in data)

		self.assertEqual(_name, data['name'])
		self.assertEqual(_orgid, data['organization_id'])
	def testRetrieveExistingProject(self):
		project = self._client.projects.find(self._sampleProjectID).data

		self.assertIsInstance(project, dict)

		self.assertTrue('id' in project)
		self.assertTrue('name' in project)
		self.assertTrue('owner_id' in project)
		self.assertTrue('organization_id' in project)

	def testListProjectSections(self):
		sect = self._client.projects.find(self._sampleProjectID).sections.all().toArray()

		self.assertIsInstance(sect, list)

		self.assertTrue(len(sect) >= 1)

		self.assertTrue('id' in sect[0])
		self.assertTrue('name' in sect[0])
		self.assertTrue('project_id' in sect[0])
	def testAddProjectSection(self):
		_name = 'SectionName999'

		newSection = self._client.projects.find(self._sampleProjectID).sections.create({
			'name': _name
		})

		data = newSection.data

		self.assertIsInstance(data, dict)

		self.assertTrue('id' in data)
		self.assertTrue('name' in data)
		self.assertTrue('project_id' in data)

		self.assertEqual(_name, data['name'])

	def testListProjectVersions(self):
		vers = self._client.projects.find(self._sampleProjectID).versions.all().toArray()

		self.assertIsInstance(vers, list)

		self.assertTrue(len(vers) >= 1)

		self.assertTrue('id' in vers[0])
		self.assertTrue('number' in vers[0])
		self.assertTrue('project_id' in vers[0])
	def testAddProjectVersion(self):
		_number = 'v2.0.0'

		newVersion = self._client.projects.find(self._sampleProjectID).versions.create({
			'number': _number
		})

		data = newVersion.data

		self.assertIsInstance(data, dict)

		self.assertTrue('id' in data)
		self.assertTrue('number' in data)
		self.assertTrue('project_id' in data)

		self.assertEqual(_number, data['number'])

	def testListProjectUsers(self):
		usr = self._client.projects.find(self._sampleProjectID).users.all().toArray()

		self.assertIsInstance(usr, list)

		self.assertTrue(len(usr) >= 1)

		self.assertTrue('id' in usr[0])
		self.assertTrue('username' in usr[0])
		self.assertTrue('first_name' in usr[0])
		self.assertTrue('last_name' in usr[0])
		self.assertTrue('email' in usr[0])

	def testListProjectBugTypeScheme(self):
		scheme = self._client.projects.find(self._sampleProjectID).bugTypeScheme.all().toArray()

		self.assertIsInstance(scheme, list)

		self.assertTrue(len(scheme) >= 1)

		self.assertTrue('id' in scheme[0])
		self.assertTrue('name' in scheme[0])
	def testListProjectBugStatusScheme(self):
		scheme = self._client.projects.find(self._sampleProjectID).bugStatusScheme.all().toArray()

		self.assertIsInstance(scheme, list)

		self.assertTrue(len(scheme) >= 1)

		self.assertTrue('id' in scheme[0])
		self.assertTrue('name' in scheme[0])
	def testListProjectBugSeverityScheme(self):
		scheme = self._client.projects.find(self._sampleProjectID).bugSeverityScheme.all().toArray()

		self.assertIsInstance(scheme, list)

		self.assertTrue(len(scheme) >= 1)

		self.assertTrue('id' in scheme[0])
		self.assertTrue('name' in scheme[0])
	def testListProjectBugReproducibilityScheme(self):
		scheme = self._client.projects.find(self._sampleProjectID).bugReproducibilityScheme.all().toArray()

		self.assertIsInstance(scheme, list)

		self.assertTrue(len(scheme) >= 1)

		self.assertTrue('id' in scheme[0])
		self.assertTrue('name' in scheme[0])
	# END PROJECT



	# BUG
	def testListBugsInProject(self):
		bugs = self._client.projects.find(self._sampleProjectID).bugs.all().toArray()

		self.assertIsInstance(bugs, list)

		self.assertTrue(len(bugs) >= 1)

		self.assertTrue('id' in bugs[0])
		self.assertTrue('title' in bugs[0])
		self.assertTrue('status_id' in bugs[0])
		self.assertTrue('severity_id' in bugs[0])
		self.assertTrue('project_version_id' in bugs[0])
		self.assertTrue('project_section_id' in bugs[0])
		self.assertTrue('type_id' in bugs[0])
		self.assertTrue('reproducibility_id' in bugs[0])
		self.assertTrue('assigned_user_id' in bugs[0])
		self.assertTrue('description' in bugs[0])
		self.assertTrue('expected_results' in bugs[0])
	def testCreateNewBug(self):
		_title = 'Bugzilla000111'
		_status_id = 2
		_severity_id = 2
		_project_version_id = 10242
		_project_section_id = 12675
		_type_id = 4
		_reproducibility_id = 2
		_assigned_user_id = 4650
		_description = 'Descrdescrdescr'
		_expected_results = 'Expecexpecexpec'
		_steps = ['first do this', 'then do that', 'finally...']
		_platform = {'device_model_id': 11, 'os': 'Android', 'os_version_id': 207}


		newBug = self._client.projects.find(self._sampleProjectID).bugs.create({
			'title': _title,
			'status_id': _status_id,
			'severity_id': _severity_id,
			'project_version_id': _project_version_id,
			'project_section_id': _project_section_id,
			'type_id': _type_id,
			'reproducibility_id': _reproducibility_id,
			'assigned_user_id': _assigned_user_id,
			'description': _description,
			'expected_results': _expected_results,
			'steps': _steps,
			'platform': _platform
		})

		data = newBug.data

		self.assertIsInstance(data, dict)

		self.assertTrue('id' in data)
		self.assertTrue('title' in data)
		self.assertTrue('status_id' in data)
		self.assertTrue('severity_id' in data)
		self.assertTrue('project_version_id' in data)
		self.assertTrue('project_section_id' in data)
		self.assertTrue('type_id' in data)
		self.assertTrue('reproducibility_id' in data)
		self.assertTrue('assigned_user_id' in data)
		self.assertTrue('description' in data)
		self.assertTrue('expected_results' in data)
		self.assertTrue('steps' in data)
		self.assertTrue('platform' in data)

		self.assertIsInstance(data['steps'], list)
		self.assertIsInstance(data['platform'], dict)

		self.assertEqual(3, len(data['steps']))

		self.assertEqual(_title, data['title'])
		self.assertEqual(_status_id, data['status_id'])
		self.assertEqual(_severity_id, data['severity_id'])
		self.assertEqual(_project_version_id, data['project_version_id'])
		self.assertEqual(_project_section_id, data['project_section_id'])
		self.assertEqual(_type_id, data['type_id'])
		self.assertEqual(_reproducibility_id, data['reproducibility_id'])
		self.assertEqual(_assigned_user_id, data['assigned_user_id'])
		self.assertEqual(_description, data['description'])
		self.assertEqual(_expected_results, data['expected_results'])

		self.assertEqual(_steps[0], data['steps'][0]['text'])

		self.assertEqual(_platform['device_model_id'], data['platform']['model']['id'])
		self.assertEqual(_platform['os'], data['platform']['os']['name'])
		self.assertEqual(_platform['os_version_id'], data['platform']['os_version']['id'])
	def testRetrieveExistingBug(self):
		bug = self._client.bugs.find(self._sampleBugID).data

		self.assertIsInstance(bug, dict)

		self.assertTrue('id' in bug)
		self.assertTrue('title' in bug)
		self.assertTrue('status_id' in bug)
		self.assertTrue('severity_id' in bug)
		self.assertTrue('project_version_id' in bug)
		self.assertTrue('project_section_id' in bug)
		self.assertTrue('type_id' in bug)
		self.assertTrue('reproducibility_id' in bug)
		self.assertTrue('assigned_user_id' in bug)
		self.assertTrue('description' in bug)
		self.assertTrue('expected_results' in bug)
	def testUpdateBug(self):
		_title = 'Upddssszz'
		_status_id = 1
		_severity_id = 1
		_project_version_id = 10242
		_project_section_id = 12675
		_type_id = 3
		_assigned_user_id = 4650
		_description = 'NJSDESCR'
		_expected_results = 'NJSXEXPR'


		updatedBug = self._client.bugs.update(self._sampleBugID, {
			'title': _title,
			'status_id': _status_id,
			'severity_id': _severity_id,
			'project_version_id': _project_version_id,
			'project_section_id': _project_section_id,
			'type_id': _type_id,
			'assigned_user_id': _assigned_user_id,
			'description': _description,
			'expected_results': _expected_results
		})

		data = updatedBug.data

		self.assertIsInstance(data, dict)

		self.assertTrue('id' in data)
		self.assertTrue('title' in data)
		self.assertTrue('status_id' in data)
		self.assertTrue('severity_id' in data)
		self.assertTrue('project_version_id' in data)
		self.assertTrue('project_section_id' in data)
		self.assertTrue('type_id' in data)
		self.assertTrue('assigned_user_id' in data)
		self.assertTrue('description' in data)
		self.assertTrue('expected_results' in data)

		self.assertEqual(_title, data['title'])
		self.assertEqual(_status_id, data['status_id'])
		self.assertEqual(_severity_id, data['severity_id'])
		self.assertEqual(_project_version_id, data['project_version_id'])
		self.assertEqual(_project_section_id, data['project_section_id'])
		self.assertEqual(_type_id, data['type_id'])
		self.assertEqual(_assigned_user_id, data['assigned_user_id'])
		self.assertEqual(_description, data['description'])
		self.assertEqual(_expected_results, data['expected_results'])
	# END BUG



	# BUG COMMENTS
	def testListBugComments(self):
		comments = self._client.bugs.find(self._sampleBugID).comments.all().toArray()

		self.assertIsInstance(comments, list)

		self.assertTrue(len(comments) >= 1)

		self.assertTrue('id' in comments[0])
		self.assertTrue('text' in comments[0])
		self.assertTrue('owner_id' in comments[0])
	# END BUG COMMENTS




	# BUG ATTACHMENTS
	def testListBugAttachments(self):
		atc = self._client.bugs.find(self._sampleBugID).attachments.all().toArray()

		self.assertIsInstance(atc, list)

		self.assertTrue(len(atc) >= 1)

		self.assertTrue('id' in atc[0])
		self.assertTrue('owner_id' in atc[0])
		self.assertTrue('url' in atc[0])
	def testCreateNewAttachment(self):
		_fp = os.path.dirname(os.path.realpath(__file__)) + '/../res/upload_sample.jpg'

		new_attachment = self._client.bugs.find(self._sampleBugID).attachments.upload(_fp)

		data = new_attachment.data

		self.assertIsInstance(data, dict)

		self.assertTrue('id' in data)
		self.assertTrue('owner_id' in data)
		self.assertTrue('url' in data)
	def testRetrieveExistingAttachment(self):
		atc = self._client.attachments.find(self._sampleAttachmmentID).data

		self.assertIsInstance(atc, dict)

		self.assertTrue('id' in atc)
		self.assertTrue('owner_id' in atc)
		self.assertTrue('url' in atc)
	# END BUG ATTACHMENTS





	# PLATFORM
	def testListPlatformTypes(self):
		types = self._client.platform.types.all().toArray()

		self.assertIsInstance(types, list)

		self.assertTrue(len(types) >= 1)

		self.assertTrue('id' in types[0])
		self.assertTrue('name' in types[0])
	def testRetrievePlatformType(self):
		type_ = self._client.platform.types.find(self._samplePlatformTypeID).data

		self.assertIsInstance(type_, dict)

		self.assertTrue('id' in type_)
		self.assertTrue('name' in type_)

	def testListPlatformDevices(self):
		devs = self._client.platform.types.find(self._samplePlatformTypeID).devices.all().toArray()

		self.assertIsInstance(devs, list)

		self.assertTrue(len(devs) >= 1)

		self.assertTrue('id' in devs[0])
		self.assertTrue('name' in devs[0])
	def testRetrievePlatformDevice(self):
		dev = self._client.platform.devices.find(self._sampleDeviceID).data

		self.assertIsInstance(dev, dict)

		self.assertTrue('id' in dev)
		self.assertTrue('name' in dev)

	def testListOS(self):
		os = self._client.platform.os.all().toArray()

		self.assertIsInstance(os, list)

		self.assertTrue(len(os) >= 1)

		self.assertTrue('id' in os[0])
		self.assertTrue('name' in os[0])
	def testRetrieveOS(self):
		os = self._client.platform.os.find(self._sampleOSID).data

		self.assertIsInstance(os, dict)

		self.assertTrue('id' in os)
		self.assertTrue('name' in os)
	def testListOSVersions(self):
		osv = self._client.platform.os.find(self._sampleOSID).versions.all().toArray()

		self.assertIsInstance(osv, list)

		self.assertTrue(len(osv) >= 1)

		self.assertTrue('id' in osv[0])
		self.assertTrue('number' in osv[0])

	def testListBrowsers(self):
		browsers = self._client.platform.browsers.all().toArray()

		self.assertIsInstance(browsers, list)

		self.assertTrue(len(browsers) >= 1)

		self.assertTrue('id' in browsers[0])
		self.assertTrue('name' in browsers[0])
	def testRetrieveBrowser(self):
		browser = self._client.platform.browsers.find(self._sampleBrowserId).data

		self.assertIsInstance(browser, dict)

		self.assertTrue('id' in browser)
		self.assertTrue('name' in browser)
	def testListBrowserVersions(self):
		brw = self._client.platform.browsers.find(self._sampleBrowserId).versions.all().toArray()

		self.assertIsInstance(brw, list)

		self.assertTrue(len(brw) >= 1)

		self.assertTrue('id' in brw[0])
		self.assertTrue('name' in brw[0])
	# END PLATFORM



	# INVALID FIELDS
	def testCreateNewProjectIncomplete(self):
		self.assertRaisesRegex(SDKIncompleteRequestException, 'name', self._client.projects.create, {'organization_id': 0})
	def testCreateNewProjectUnsupported(self):
		self.assertRaisesRegex(SDKUnsupportedRequestException, 'fxxxxxx', self._client.projects.create, {'name': '', 'fxxxxxx': ''})

	def testAddProjectSectionUnsupported(self):
		p = self._client.projects.find(self._sampleProjectID)
		self.assertRaisesRegex(SDKUnsupportedRequestException, 'fxxxxxx', p.sections.create, {'name': '', 'fxxxxxx': ''})

	def testAddProjectVersionUnsupported(self):
		p = self._client.projects.find(self._sampleProjectID)
		self.assertRaisesRegex(SDKUnsupportedRequestException, 'fxxxxxx', p.versions.create, {'number': '', 'fxxxxxx': ''})

	def testCreateNewBugIncomplete(self):
		_title = 'Bugzilla000111'
		_status_id = 2
		_severity_id = 2

		p = self._client.projects.find(self._sampleProjectID)
		self.assertRaisesRegex(SDKIncompleteRequestException, 'project_version', p.bugs.create,
			{'title': _title, 'status_id': _status_id, 'severity_id': _severity_id})

	def testCreateNewBugUnsupported(self):
		_title = 'Bugzilla000111'
		_status_id = 2
		_severity_id = 2
		_project_version_id = 10242

		p = self._client.projects.find(self._sampleProjectID)

		self.assertRaisesRegex(SDKUnsupportedRequestException, 'fxxxxxx', p.bugs.create,
			{'title': _title, 'status_id': _status_id, 'severity_id': _severity_id, 'project_version_id': _project_version_id, 'fxxxxxx': ''})

	def testCreateNewAttachmentNonStrFilepath(self):
		b = self._client.bugs.find(self._sampleBugID)
		self.assertRaisesRegex(SDKInvalidArgException, 'filepath', b.attachments.upload, 111)
	# END INVALID FIELDS




	# MISC
	def testForbiddenResponse(self):
		self.assertRaisesRegex(SDKErrorResponseException, 'forbidden', self._client.bugs.find, 1)
	def testMissingResponse(self):
		self.assertRaisesRegex(SDKErrorResponseException, '404', self._client.bugs.find, 999999)
	def testInvalidToken(self):
		self._client.attachToken('6cOb1uNIMFyyJQdK33N9lxjECw5AJom1L3xxxxxx')
		self.assertRaisesRegex(SDKErrorResponseException, 'denied', self._client.projects.find, self._sampleProjectID)
	def testNoToken(self):
		cl = PyClient()
		self.assertRaisesRegex(SDKErrorResponseException, 'access token', cl.projects.find, self._sampleProjectID)
	def testOAuth2HandlerExchangeNonStrRedirectURI(self):
		client = PyClient()
		client.debugReturn = '{}'
		h = OAuth2Handler(client)
		self.assertRaises(SDKInvalidArgException, h.exchangeAuthCode, '', '', '', '', 1)