1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | var CodeGradX = require('codegradxlib');
|
7 | var Agent = require('../codegradxagent.js');
|
8 | var vmauthor = require('./vmauthor-data.js');
|
9 | var vmauthData = require('./vmauth-data.json');
|
10 |
|
11 | describe("CodeGradXagent process Job", function () {
|
12 |
|
13 | function initializer (agent) {
|
14 |
|
15 | agent.state = new CodeGradX.State(vmauthor.initialize);
|
16 | return agent;
|
17 | }
|
18 |
|
19 | it("should be loaded", function () {
|
20 | expect(Agent).toBeDefined();
|
21 | var agent = new CodeGradX.Agent(initializer);
|
22 | expect(agent).toBeDefined();
|
23 | });
|
24 |
|
25 | function make_faildone (done) {
|
26 | return function faildone (reason) {
|
27 |
|
28 |
|
29 | fail(reason);
|
30 | done();
|
31 | };
|
32 | }
|
33 |
|
34 | var exerciseTGZFile1 = "spec/org.example.fw4ex.grading.check.tgz";
|
35 | var exercise1;
|
36 |
|
37 | it("should submit an exercise", function (done) {
|
38 | var agent = CodeGradX.getCurrentAgent();
|
39 | expect(agent).toBeDefined();
|
40 | var faildone = make_faildone(done);
|
41 | agent.process([
|
42 | "-v",
|
43 | "--user", vmauthData.login,
|
44 | "--password", vmauthData.password,
|
45 | "--type", 'exercise',
|
46 | "--stuff", exerciseTGZFile1,
|
47 | "--timeout", 10,
|
48 | "--follow"
|
49 | ]).then(function (exercise) {
|
50 | expect(exercise).toBeDefined();
|
51 | expect(exercise.pseudojobs).toBeDefined();
|
52 | expect(exercise.pseudojobs.perfect).toBeDefined();
|
53 | expect(exercise.pseudojobs.perfect.mark).toBe(100);
|
54 | exercise1 = exercise;
|
55 | done();
|
56 | }, faildone);
|
57 | }, 400*1000);
|
58 |
|
59 | it("send a job against this new exercise", function (done) {
|
60 | var agent = CodeGradX.getCurrentAgent();
|
61 | expect(agent).toBeDefined();
|
62 | var faildone = make_faildone(done);
|
63 | expect(exercise1).toBeDefined();
|
64 | agent.process([
|
65 | "--Verbose",
|
66 | "--user", vmauthData.login,
|
67 | "--password", vmauthData.password,
|
68 | "--exercise", exercise1.safecookie,
|
69 | "--counter", 100,
|
70 | "--type", 'job',
|
71 | "--stuff", 'spec/oefgc/1.tgz'
|
72 | ]).then(function (job) {
|
73 | expect(job).toBeDefined();
|
74 | expect(job.mark).toBe(10);
|
75 | done();
|
76 | }, faildone);
|
77 | }, 100*1000);
|
78 |
|
79 | it("send a job against this new exercise specified with file:",
|
80 | function (done) {
|
81 | var agent = CodeGradX.getCurrentAgent();
|
82 | expect(agent).toBeDefined();
|
83 | var faildone = make_faildone(done);
|
84 | agent.process([
|
85 | "--Verbose",
|
86 | "--user", vmauthData.login,
|
87 | "--password", vmauthData.password,
|
88 | "--exercise", 'file:2-exerciseAuthorReport.xml',
|
89 | "--counter", 200,
|
90 | "--offset", 7,
|
91 | "--type", 'job',
|
92 | "--stuff", 'spec/oefgc/1.tgz'
|
93 | ]).then(function (job) {
|
94 | expect(job).toBeDefined();
|
95 | expect(job.mark).toBe(10);
|
96 | done();
|
97 | }, faildone);
|
98 | }, 100*1000);
|
99 |
|
100 |
|
101 |
|
102 |
|
103 |
|
104 |
|
105 |
|
106 |
|
107 |
|
108 |
|
109 |
|
110 |
|
111 |
|
112 |
|
113 |
|
114 |
|
115 |
|
116 |
|
117 |
|
118 |
|
119 |
|
120 |
|
121 | });
|