Skip to content

Commit b8f07e2

Browse files
author
Philippe Tang
committed
[DVPL-10898] Remove node_modules from repo
[DVPL-10898] Updated browserify [DVPL-10898] Create createUrl method [DVPL-10898] Update get/post methods [DVPL-10898] Implement v1/v2 APIs
1 parent 1dee6d9 commit b8f07e2

File tree

6,086 files changed

+156557
-1437164
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

6,086 files changed

+156557
-1437164
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,6 @@ cover_html
1717
.splunkrc
1818
*.zip
1919
test_logs/*
20-
docs/
20+
docs/
21+
node_modules/*
22+
.nyc_output/*

Makefile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,3 +45,21 @@ wait_up:
4545
down:
4646
@echo "$(ATTN_COLOR)==> down $(NO_COLOR)"
4747
@docker-compose stop
48+
49+
.PHONY: deps
50+
deps:
51+
@echo "$(ATTN_COLOR)==> Checking nodes.js dependencies $(NO_COLOR)"
52+
@echo "$(ATTN_COLOR)==> Installing nodes.js 14 $(NO_COLOR)"
53+
@source $(HOME)/.nvm/nvm.sh ; nvm install 14
54+
@echo "$(ATTN_COLOR)==> npm install $(NO_COLOR)"
55+
@npm install
56+
57+
.PHONY: clean
58+
clean:
59+
@echo "$(ATTN_COLOR)==> Cleaning client/ directory $(NO_COLOR)"
60+
@rm -rf client/splunk.*.js >/dev/null 2>&1
61+
62+
.PHONY: build
63+
build: clean deps
64+
@echo "$(OK_COLOR)==> Initiating the build... $(NO_COLOR)"
65+
@source $(HOME)/.nvm/nvm.sh; nvm run 14 sdkdo compile

bin/cli.js

Lines changed: 27 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
var url = require('url');
2828
var needle = require('needle');
2929

30-
3130
/**
3231
* Constants
3332
*/
@@ -445,11 +444,11 @@
445444
};
446445

447446
var getDependencies = function (entry) {
447+
// Latest browserify API
448448
var bundle = browserify({
449-
entry: entry,
450-
ignore: IGNORED_MODULES,
451-
cache: BUILD_CACHE_FILE
449+
entries: entry
452450
});
451+
bundle.ignore(IGNORED_MODULES)
453452

454453
var dependencies = [entry];
455454
for (var file in bundle.files) {
@@ -463,40 +462,30 @@
463462

464463
var compile = function (entry, path, shouldUglify, watch, exportName) {
465464
exportName = exportName || "splunkjs";
466-
467-
// Compile/combine all the files into the package
468-
var bundle = browserify({
469-
entry: entry,
470-
ignore: IGNORED_MODULES,
471-
cache: BUILD_CACHE_FILE,
472-
filter: function (code) {
473-
if (shouldUglify) {
474-
var uglifyjs = require("uglify-js"),
475-
parser = uglifyjs.parser,
476-
uglify = uglifyjs.uglify;
477-
478-
var ast = parser.parse(code);
479-
ast = uglify.ast_mangle(ast);
480-
ast = uglify.ast_squeeze(ast);
481-
code = uglify.gen_code(ast);
482-
}
483-
484-
code = [
485-
"(function() {",
486-
"",
487-
"var __exportName = '" + exportName + "';",
488-
"",
489-
code,
490-
"",
491-
"})();"
492-
].join("\n");
493-
return code;
465+
var bundle = browserify();
466+
bundle.add(entry);
467+
bundle.ignore(IGNORED_MODULES);
468+
bundle.bundle(function (err,src){
469+
var code = [
470+
"(function() {",
471+
"",
472+
"var __exportName = '" + exportName + "';",
473+
"",
474+
src.toString(),
475+
"",
476+
"})();"
477+
].join("\n");
478+
if(err){
479+
throw err;
480+
}
481+
if (shouldUglify){
482+
var UglifyJS = require("uglify-js");
483+
code = UglifyJS.minify({"file1.js":code},{toplevel:true}).code;
494484
}
485+
fs.writeFileSync(path,code);
486+
console.log("Compiled " + path);
495487
});
496488

497-
var js = bundle.bundle();
498-
fs.writeFileSync(path, js);
499-
console.log("Compiled " + path);
500489
};
501490

502491
var outOfDate = function (dependencies, compiled, compiledMin) {
@@ -735,13 +724,13 @@
735724
var files = args
736725
.map(arg => {
737726
if (arg.indexOf('modularinputs') >= 0) {
738-
return path.join(TEST_DIRECTORY, 'modularinputs', TEST_PREFIX + arg.split('/')[1] + ".js");
727+
return path.join(TEST_DIRECTORY, 'modularinputs', arg.split('/').reverse()[0]);
739728
}
740729
else if (arg.indexOf('service_tests') >= 0) {
741-
return path.join(TEST_DIRECTORY, 'service_tests', arg.split('/')[1] + ".js");
730+
return path.join(TEST_DIRECTORY, 'service_tests', arg.split('/').reverse()[0]);
742731
}
743732
else {
744-
return path.join(TEST_DIRECTORY, TEST_PREFIX + arg + ".js");
733+
return path.join(TEST_DIRECTORY, arg.split('/').reverse()[0]);
745734
}
746735
}).filter(file => fs.existsSync(file));
747736

client/browser_context.js

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ describe('Context tests', function() {
2525
})
2626
describe('General Context Test', function() {
2727
before(function(){
28-
console.log(svc);
28+
// console.log(svc);
2929
this.service = svc;
3030
})
3131

@@ -152,9 +152,11 @@ describe('Context tests', function() {
152152
}
153153
);
154154

155-
service.get("search/jobs", {count: 1}, function(err, res) {
156-
assert.ok(err);
157-
assert.strictEqual(err.status, 401);
155+
service.get("search/jobs", { count: 1 }, function (err, res) {
156+
assert.strictEqual(res.data.paging.offset, 0);
157+
assert.ok(res.data.entry.length <= res.data.paging.total);
158+
assert.strictEqual(res.data.entry.length, 1);
159+
assert.ok(res.data.entry[0].content.sid);
158160
done();
159161
});
160162
});
@@ -282,9 +284,9 @@ describe('Context tests', function() {
282284
}
283285
);
284286

285-
service.post("search/jobs", {search: "search index=_internal | head 1"}, function(err, res) {
286-
assert.ok(err);
287-
assert.strictEqual(err.status, 401);
287+
service.post("search/jobs", { search: "search index=_internal | head 1" }, function (err, res) {
288+
var sid = res.data.sid;
289+
assert.ok(sid);
288290
done();
289291
});
290292
});
@@ -412,9 +414,9 @@ describe('Context tests', function() {
412414
}
413415
);
414416

415-
service.del("search/jobs/NO_SUCH_SID", {}, function(err, res) {
417+
service.del("search/jobs/NO_SUCH_SID", {}, function (err, res) {
416418
assert.ok(err);
417-
assert.strictEqual(err.status, 401);
419+
assert.strictEqual(err.status, 404);
418420
done();
419421
});
420422
});
@@ -579,9 +581,8 @@ describe('Context tests', function() {
579581
var get = {count: 1};
580582
var post = null;
581583
var body = null;
582-
service.request("search/jobs", "GET", get, post, body, {"X-TestHeader": 1}, function(err, res) {
583-
assert.ok(err);
584-
assert.strictEqual(err.status, 401);
584+
service.request("search/jobs", "GET", get, post, body, { "X-TestHeader": 1 }, function (err, res) {
585+
assert.ok(res);
585586
done();
586587
});
587588
});
@@ -799,7 +800,6 @@ describe('Context tests', function() {
799800
that.skip = true;
800801
splunkjs.Logger.log("Skipping cookie tests...");
801802
}
802-
done();
803803
});
804804
})
805805

@@ -827,7 +827,7 @@ describe('Context tests', function() {
827827
done();
828828
});
829829

830-
it("login and store cookie", function(done){
830+
it("login and store cookie", function (done) {
831831
if(this.skip){
832832
done();
833833
return;

client/browser_service.js

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,82 @@ describe("Service Tests ", function(){
452452
}
453453
);
454454
});
455+
456+
it("Callback#job events - fallback to v1 with search params", function(done) {
457+
var sid = getNextId();
458+
var service = this.service;
459+
var that = this;
460+
461+
Async.chain([
462+
function(done) {
463+
that.service.jobs().search('search index=_internal | head 2', {id: sid}, done);
464+
},
465+
function(job, done) {
466+
assert.strictEqual(job.sid, sid);
467+
pollUntil(
468+
job,
469+
function(j) {
470+
return job.properties()["isDone"];
471+
},
472+
10,
473+
done
474+
);
475+
},
476+
function(job, done) {
477+
job.events({search: "| head 1"}, done);
478+
},
479+
function (results, job, done) {
480+
assert.strictEqual(results.post_process_count, 1);
481+
assert.notEqual(job._state.links.alternate.indexOf("/search/jobs/"), -1);
482+
assert.strictEqual(results.rows.length, 1);
483+
assert.strictEqual(results.fields.length, results.rows[0].length);
484+
job.cancel(done);
485+
}
486+
],
487+
function(err) {
488+
assert.ok(!err);
489+
done();
490+
}
491+
);
492+
});
493+
494+
it("Callback#job events - use v2 endpoints: no search params", function(done) {
495+
var sid = getNextId();
496+
var service = this.service;
497+
var that = this;
455498

499+
Async.chain([
500+
function(done) {
501+
that.service.jobs().search('search index=_internal | head 2', {id: sid}, done);
502+
},
503+
function(job, done) {
504+
assert.strictEqual(job.sid, sid);
505+
pollUntil(
506+
job,
507+
function(j) {
508+
return job.properties()["isDone"];
509+
},
510+
10,
511+
done
512+
);
513+
},
514+
function(job, done) {
515+
job.events({}, done);
516+
},
517+
function (results, job, done) {
518+
assert.isUndefined(results.post_process_count);
519+
assert.strictEqual(results.rows.length, 2);
520+
assert.strictEqual(results.fields.length, results.rows[0].length);
521+
job.cancel(done);
522+
}
523+
],
524+
function(err) {
525+
assert.ok(!err);
526+
done();
527+
}
528+
);
529+
});
530+
456531
it("Callback#job results preview", function(done) {
457532
var sid = getNextId();
458533
var service = this.service;

0 commit comments

Comments
 (0)