Ejemplo n.º 1
0
	def testPickupProcess(self):
		q = self.create_a_job(getsession())
		e = ExecuteActionFactory()
		act = e.buildProtocol(None)
		messages = []
		act.transport = fake_transport()
		act.transport.write = messages.append
		act.dataReceived(formatmessage(q[0].socket_serialize()))
		
		act.connectionLost("Shit got all f****d up")
		self.assert_(len(current_processes["running"]) == 0, current_processes["running"])
		self.assert_(len(current_processes["dropped"]) == 1, current_processes["dropped"])
		
		e2 = ExecuteActionFactory()
		recon = e2.buildProtocol(None)
		messages2 = []
		recon.transport = fake_transport()
		recon.transport.write = messages2.append
		recon.dataReceived(formatmessage([RECONNECTKEY, q[0].JOBID]))

		self.assert_(len(current_processes["running"]) == 1, current_processes["running"])
		self.assert_(len(current_processes["dropped"]) == 0, current_processes["dropped"])
		
		while len(messages2) == 1:
			recon.cancel()
			recon.check_action()
			time.sleep(.1)
		twisted.internet.base.DelayedCall.debug = True
Ejemplo n.º 2
0
	def testKillProcessNotFound(self):
		q = self.create_a_job(getsession())
		e = ExecuteActionFactory()
		act = e.buildProtocol(None)
		act.transport = fake_transport()
		act_msg = []
		act.transport.write = act_msg.append
		act.dataReceived(formatmessage(q[0].socket_serialize()))
		
		e2 = ExecuteActionFactory()
		curr = e2.buildProtocol(None)
		messages = []
		curr.transport = fake_transport()
		curr.transport.write = messages.append

		while  len(messages) == 1:
			act.cancel()
			act.check_action() == None
			time.sleep(.1)

		curr.message = ""
		curr.dataReceived(formatmessage([KILLPROCKEY, q[0].JOBID]))
		self.assert_(messages[0] == """29                                                              ["KILLPROCESS", "terminated"]""", messages[0])
		act.check_action()
		act.cancel()
		curr.cancel()
Ejemplo n.º 3
0
	def testCurrentProcessesMessage(self):
		q = self.create_a_job(getsession())
		e = ExecuteActionFactory()
		action_messages = []
		act = e.buildProtocol(None)
		act.transport = fake_transport()
		act.transport.write = action_messages.append
		act.dataReceived(formatmessage(q[0].socket_serialize()))
		
		e2 = ExecuteActionFactory()
		curr = e2.buildProtocol(None)
		messages = []
		curr.transport = fake_transport()
		curr.transport.write = messages.append
		curr.dataReceived(formatmessage([CURRPROCKEY, {}]))
		self.assert_(messages[0] == """25                                                              ["CURRENTPROCESSES", [1]]""", messages[0])
		
		while len(action_messages) == 1:
			act.cancel()
			act.check_action() == None
			time.sleep(.1)
		
		curr = e2.buildProtocol(None)
		curr.message = ""
		messages = []
		curr.transport = fake_transport()
		curr.transport.write = messages.append
		curr.dataReceived(formatmessage([CURRPROCKEY, {}]))
		self.assert_(messages[0] == """24                                                              ["CURRENTPROCESSES", []]""", messages[0])
		
		act.cancel()
		curr.cancel()
Ejemplo n.º 4
0
	def testDroppedProcess(self):
		q = self.create_a_job(getsession())
		e = ExecuteActionFactory()
		act = e.buildProtocol(None)
		messages = []
		act.transport = fake_transport()
		act.transport.write = messages.append
		act.dataReceived(formatmessage(q[0].socket_serialize()))
		
		e.clientConnectionLost(None, "Shit got all f****d up")
		self.assert_(len(current_processes["running"]) == 0, current_processes["running"])
		self.assert_(len(current_processes["dropped"]) == 1, current_processes["dropped"])
		while  len(messages) == 1:
			act.cancel()
			act.check_action() 
			time.sleep(.1)
Ejemplo n.º 5
0
	def testKillProcess(self):
		q = self.create_a_job(getsession())
		e = ExecuteActionFactory()
		act = e.buildProtocol(None)
		act.transport = fake_transport()
		act.dataReceived(formatmessage(q[0].socket_serialize()))
		
		e2 = ExecuteActionFactory()
		curr = e2.buildProtocol(None)
		messages = []
		curr.transport = fake_transport()
		curr.transport.write = messages.append
		curr.dataReceived(formatmessage([KILLPROCKEY, 40]))
		self.assert_(messages[0] == """50                                                              ["KILLPROCESS", "No running process with that ID"]""", messages[0])
		act.cancel()
		curr.cancel()
Ejemplo n.º 6
0
	def testFileDeps(self):
		e = ExecuteActionFactory()
		f = filedep()
		f.FILEID = 10
		f.ACTIONID = "some crappy action"
		f.SERVERID = "some bullshit server"
		f.FILENAME = FAKE_FILEDEP
		f.TYPE = 0
		l = []
		eprot = e.buildProtocol(None)	
		eprot.transport = fake_transport()
		eprot.transport.write = l.append
		eprot.dataReceived(formatmessage(f.socket_serialize()))
		self.assert_(len(l) == 1)
		ret = parsemessagefromstr(l[0])[0]
		self.assert_(str(ret[0][0]) == FILEDEPKEY)
		self.assert_(ret[0][1] == True or ret[1] == False)