UNPKG

2.35 kBJavaScriptView Raw
1// Jasmine test related to the vmauthor virtual machine. The vmauthor
2// virtual machine hosts a full constellation of CodeGradX servers.
3// The vmauthor virtual machine is available from
4// http://paracamplus.com/CodeGradX/VM/latest/
5
6var CodeGradX = require('codegradxagent');
7var Agent = require('../codegradxvmauthor.js');
8var vmauthData = require('./vmauth-data.json');
9
10describe("CodeGradXagent process Job", function () {
11
12 it("should be loaded", function () {
13 expect(Agent).toBeDefined();
14 var agent = new CodeGradX.VMauthorAgent();
15 expect(agent).toBeDefined();
16 });
17
18 function make_faildone (done) {
19 return function faildone (reason) {
20 //agent.state.debug(reason).show();
21 //console.log(reason);
22 fail(reason);
23 done();
24 };
25 }
26
27 var exerciseTGZFile1 = "spec/org.example.fw4ex.grading.check.tgz";
28
29 it("should submit another exercise and resume it", function (done) {
30 var agent = CodeGradX.getCurrentAgent();
31 expect(agent).toBeDefined();
32 var faildone = make_faildone(done);
33 function resume (reason) {
34 agent.debug(reason); // waitedTooMuch
35 agent.process([
36 "-v",
37 "--resume", '351-exerciseSubmittedReport.xml',
38 "--retry", 10,
39 "--timeout", 3,
40 "--follow"
41 ]).then(function (exercise2) {
42 expect(exercise2.pseudojobs).toBeDefined();
43 expect(exercise2.pseudojobs.perfect).toBeDefined();
44 expect(exercise2.pseudojobs.perfect.mark).toBe(100);
45 // Normally 35[23]-exerciseAuthorReport.xml are equal
46 done();
47 })
48 .catch(faildone);
49 }
50 agent.process([
51 "-V",
52 "--user", vmauthData.login,
53 "--password", vmauthData.password,
54 "--update-credentials",
55 "--type", 'exercise',
56 "--stuff", exerciseTGZFile1,
57 "--counter", 350,
58 "--timeout", 1,
59 "--retry", 2
60 ]).then(function (exercise) {
61 agent.debug("should not be finished yet!");
62 faildone();
63 })
64 .catch(resume)
65 .catch(faildone);
66 }, 400*1000); // 400 seconds
67
68});