UNPKG

4.03 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("CodeGradXVMauthorAgent 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 var exercise1;
29
30 it("should submit an exercise", function (done) {
31 var agent = CodeGradX.getCurrentAgent();
32 expect(agent).toBeDefined();
33 var faildone = make_faildone(done);
34 agent.process([
35 "-v",
36 "--user", vmauthData.login,
37 "--password", vmauthData.password,
38 "--type", 'exercise',
39 "--stuff", exerciseTGZFile1,
40 "--timeout", 10,
41 "--follow"
42 ]).then(function (exercise) {
43 expect(exercise).toBeDefined();
44 expect(exercise.pseudojobs).toBeDefined();
45 expect(exercise.pseudojobs.perfect).toBeDefined();
46 expect(exercise.pseudojobs.perfect.mark).toBe(100);
47 exercise1 = exercise;
48 done();
49 }, faildone);
50 }, 400*1000); // 400 seconds
51
52 it("send a job against this new exercise", function (done) {
53 var agent = CodeGradX.getCurrentAgent();
54 expect(agent).toBeDefined();
55 var faildone = make_faildone(done);
56 expect(exercise1).toBeDefined();
57 agent.process([
58 "--Verbose",
59 "--user", vmauthData.login,
60 "--password", vmauthData.password,
61 "--exercise", exercise1.safecookie,
62 "--counter", 100,
63 "--type", 'job',
64 "--stuff", 'spec/oefgc/1.tgz'
65 ]).then(function (job) {
66 expect(job).toBeDefined();
67 expect(job.mark).toBe(10);
68 done();
69 }, faildone);
70 }, 100*1000); // 100 seconds
71
72 it("send a job against this new exercise specified with file:",
73 function (done) {
74 var agent = CodeGradX.getCurrentAgent();
75 expect(agent).toBeDefined();
76 var faildone = make_faildone(done);
77 agent.process([
78 "--Verbose",
79 "--user", vmauthData.login,
80 "--password", vmauthData.password,
81 "--exercise", 'file:2-exerciseAuthorReport.xml',
82 "--counter", 200,
83 "--offset", 7,
84 "--type", 'job',
85 "--stuff", 'spec/oefgc/1.tgz'
86 ]).then(function (job) {
87 expect(job).toBeDefined();
88 expect(job.mark).toBe(10);
89 done();
90 }, faildone);
91 }, 100*1000); // 100 seconds
92
93 // it("send a job against this new exercise specified with campaign:",
94 // function (done) {
95 // var agent = CodeGradX.getCurrentAgent();
96 // expect(agent).toBeDefined();
97 // var faildone = make_faildone(done);
98 // agent.process([
99 // "--Verbose",
100 // "--user", vmauthData.login,
101 // "--password", vmauthData.password,
102 // "--exercise", 'campaign:example#2',
103 // "--counter", 300,
104 // "--offset", 7,
105 // "--type", 'job',
106 // "--stuff", 'spec/min.c'
107 // ]).then(function (job) {
108 // expect(job).toBeDefined();
109 // expect(job.mark).toBe(1);
110 // done();
111 // }, faildone);
112 // }, 100*1000); // 100 seconds
113
114});