summaryrefslogtreecommitdiff
path: root/gear/client.py
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2016-03-04 17:46:43 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2016-03-27 11:53:01 +0000
commit1656803e515bb65bc3a292b4317c6e4a3f0c4a33 (patch)
tree6f38ccae980f8806980c7240160003a4608c8003 /gear/client.py
parent45e39e81698df91251c7fac5a642e211e98d834b (diff)
downloadmorph-1656803e515bb65bc3a292b4317c6e4a3f0c4a33.tar.gz
mocking things
Change-Id: I8c8a82947acbdccde3d8ee3ac6c78301d4521630
Diffstat (limited to 'gear/client.py')
-rw-r--r--gear/client.py63
1 files changed, 63 insertions, 0 deletions
diff --git a/gear/client.py b/gear/client.py
new file mode 100644
index 00000000..4ef06d26
--- /dev/null
+++ b/gear/client.py
@@ -0,0 +1,63 @@
+import gear
+import sys
+import json
+import distbuild
+
+gear.Server()
+
+class aGearmanClient(gear.Client):
+ def __init__(self):
+ super(aGearmanClient, self).__init__()
+ print "init"
+ self.finished = False
+
+ def handleWorkComplete(self, packet):
+ job = super(aGearmanClient, self).handleWorkComplete(packet)
+ print "workcomplete"
+ self.finished = True
+ artifact = distbuild.decode_artifact_reference(job.data[-1])
+ print artifact.dependencies[0].dependencies
+ return job
+
+ def handleWorkData(self, packet):
+ job = super(aGearmanClient, self).handleWorkData(packet)
+ print job.data[-1]
+ job.data = []
+ return job
+
+ def handleWorkFail(self, packet):
+ job = super(aGearmanClient, self).handleWorkFail(packet)
+ print "workfail"
+ return job
+
+ def handleWorkException(self, packet):
+ job = super(aGearmanClient, self).handleWorkException(packet)
+ print "workexception"
+ return job
+
+ def handleDisconnect(self, job):
+ job = super(aGearmanClient, self).handleDisconnect(job)
+ print "disconnect"
+
+client = aGearmanClient()
+client.addServer('localhost')
+client.waitForServer() # Wait for at least one server to be connected
+print "server connected"
+#job = gear.Job("reverse", "test string")
+build_graph_request = {}
+build_graph_request['repo'] = "baserock:baserock/definitions"
+build_graph_request['ref'] = "master"
+build_graph_request['system'] = "systems/minimal-system-x86_64-generic.morph"
+
+s=json.dumps(build_graph_request)
+
+print s
+print "json produced"
+
+job = gear.Job("build-graph", s)
+client.submitJob(job)
+
+# loop so that client doesn't die
+while True:
+ import time
+ time.sleep(2)