1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | var CodeGradX = require('codegradxagent');
|
7 | var Agent = require('../codegradxvmauthor.js');
|
8 | var vmauthData = require('./vmauth-data.json');
|
9 |
|
10 | describe("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 |
|
21 |
|
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);
|
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 |
|
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);
|
67 |
|
68 | });
|