From 5553034a47c06d0cc60cd02ad8a5d2a911068e8b Mon Sep 17 00:00:00 2001 From: vmalaviya Date: Tue, 10 Aug 2021 15:35:07 +0530 Subject: [PATCH 1/2] Changes for sdk-app-collection and apps/local --- tests/service_tests/job.js | 289 ++++++++++++++--------------- tests/service_tests/savedsearch.js | 12 +- tests/service_tests/view.js | 2 +- 3 files changed, 146 insertions(+), 157 deletions(-) diff --git a/tests/service_tests/job.js b/tests/service_tests/job.js index 634cec8c1..2263920eb 100644 --- a/tests/service_tests/job.js +++ b/tests/service_tests/job.js @@ -19,39 +19,37 @@ exports.setup = function (svc) { done(); }); - // Disabling this test because apps/appinstall endpoint is deprecated in Splunk 8.2. - // - // it("Callback#Create+abort job", function (done) { - // var service = this.service; - // Async.chain([ - // function (done) { - // var app_name = path.join(process.env.SPLUNK_HOME, ('/etc/apps/sdkappcollection/build/sleep_command.tar')); - // // Fix path on Windows if $SPLUNK_HOME contains a space (ex: C:/Program%20Files/Splunk) - // app_name = app_name.replace("%20", " "); - // // var app_name = "sleep_command"; - // service.post("apps/local", { update: 1, name: app_name, filename: true }, done); - // }, - // function (done) { - // var sid = getNextId(); - // var options = { id: sid }; - // var jobs = service.jobs(); - // var req = jobs.oneshotSearch('search index=_internal | head 1 | sleep 10', options, function (err, job) { - // assert.ok(err); - // assert.ok(!job); - // assert.strictEqual(err.error, "abort"); - // }); - - // Async.sleep(1000, function () { - // req.abort(); - // }); - // } - // ], - // function (err) { - // assert.ok(!err); - // done(); - // }); - // done(); - // }); + it("Callback#Create+abort job", function (done) { + var service = this.service; + Async.chain([ + function (done) { + var app_name = path.join(process.env.SPLUNK_HOME, ('/etc/apps/sdkappcollection/build/sleep_command.tar')); + // Fix path on Windows if $SPLUNK_HOME contains a space (ex: C:/Program%20Files/Splunk) + app_name = app_name.replace("%20", " "); + // var app_name = "sleep_command"; + service.post("apps/local", { update: 1, name: app_name, filename: true }, done); + }, + function (done) { + var sid = getNextId(); + var options = { id: sid }; + var jobs = service.jobs(); + var req = jobs.oneshotSearch('search index=_internal | head 1 | sleep 10', options, function (err, job) { + assert.ok(err); + assert.ok(!job); + assert.strictEqual(err.error, "abort"); + }); + + Async.sleep(1000, function () { + req.abort(); + }); + } + ], + function (err) { + assert.ok(!err); + done(); + }); + done(); + }); it("Callback#Create+cancel job", function (done) { var sid = getNextId(); @@ -275,92 +273,86 @@ exports.setup = function (svc) { ); }); - // Disabling this test because apps/appinstall endpoint is deprecated in Splunk 8.2. - // - // - // it("Callback#Enable + disable preview", function (done) { - // var that = this; - // var sid = getNextId(); + it("Callback#Enable + disable preview", function (done) { + var that = this; + var sid = getNextId(); - // var service = this.service.specialize("nobody", "sdkappcollection"); + var service = this.service.specialize("nobody", "sdkappcollection"); - // Async.chain([ - // function (done) { - // service.jobs().search('search index=_internal | head 1 | sleep 60', { id: sid }, done); - // }, - // function (job, done) { - // job.enablePreview(done); - - // }, - // function (job, done) { - // job.disablePreview(done); - // }, - // function (job, done) { - // job.cancel(done); - // } - // ], - // function (err) { - // assert.ok(!err); - // done(); - // } - // ); - // }); + Async.chain([ + function (done) { + service.jobs().search('search index=_internal | head 1 | sleep 60', { id: sid }, done); + }, + function (job, done) { + job.enablePreview(done); + }, + function (job, done) { + job.disablePreview(done); + }, + function (job, done) { + job.cancel(done); + } + ], + function (err) { + assert.ok(!err); + done(); + } + ); + }); - // Disabling this test because apps/appinstall endpoint is deprecated in Splunk 8.2. - // - // - // it("Callback#Pause + unpause + finalize preview", function (done) { - // var that = this; - // var sid = getNextId(); - // var service = this.service.specialize("nobody", "sdkappcollection"); + it("Callback#Pause + unpause + finalize preview", function (done) { + var that = this; + var sid = getNextId(); - // Async.chain([ - // function (done) { - // service.jobs().search('search index=_internal | head 1 | sleep 5', { id: sid }, done); - // }, - // function (job, done) { - // job.pause(done); - // }, - // function (job, done) { - // tutils.pollUntil( - // job, - // function (j) { - // return j.properties()["isPaused"]; - // }, - // 10, - // done - // ); - // }, - // function (job, done) { - // assert.ok(job.properties()["isPaused"]); - // job.unpause(done); - // }, - // function (job, done) { - // tutils.pollUntil( - // job, - // function (j) { - // return !j.properties()["isPaused"]; - // }, - // 10, - // done - // ); - // }, - // function (job, done) { - // assert.ok(!job.properties()["isPaused"]); - // job.finalize(done); - // }, - // function (job, done) { - // job.cancel(done); - // } - // ], - // function (err) { - // assert.ok(!err); - // done(); - // } - // ); - // }); + var service = this.service.specialize("nobody", "sdkappcollection"); + + Async.chain([ + function (done) { + service.jobs().search('search index=_internal | head 1 | sleep 5', { id: sid }, done); + }, + function (job, done) { + job.pause(done); + }, + function (job, done) { + tutils.pollUntil( + job, + function (j) { + return j.properties()["isPaused"]; + }, + 10, + done + ); + }, + function (job, done) { + assert.ok(job.properties()["isPaused"]); + job.unpause(done); + }, + function (job, done) { + tutils.pollUntil( + job, + function (j) { + return !j.properties()["isPaused"]; + }, + 10, + done + ); + }, + function (job, done) { + assert.ok(!job.properties()["isPaused"]); + job.finalize(done); + }, + function (job, done) { + job.cancel(done); + } + ], + function (err) { + assert.ok(!err); + done(); + } + ); + }); it("Callback#Set TTL", function (done) { var sid = getNextId(); @@ -397,45 +389,42 @@ exports.setup = function (svc) { ); }); - // Disabling this test because apps/appinstall endpoint is deprecated in Splunk 8.2. - // - // - // it("Callback#Set priority", function (done) { - // var sid = getNextId(); - // var originalPriority = 0; - // var that = this; + it("Callback#Set priority", function (done) { + var sid = getNextId(); + var originalPriority = 0; + var that = this; - // var service = this.service.specialize("nobody", "sdkappcollection"); + var service = this.service.specialize("nobody", "sdkappcollection"); - // Async.chain([ - // function (done) { - // service.jobs().search('search index=_internal | head 1 | sleep 5', { id: sid }, done); - // }, - // function (job, done) { - // job.track({}, { - // ready: function (job) { - // done(null, job); - // } - // }); - // }, - // function (job, done) { - // var priority = job.properties()["priority"]; - // assert.ok(priority, 5); - // job.setPriority(priority + 1, done); - // }, - // function (job, done) { - // job.fetch(done); - // }, - // function (job, done) { - // job.cancel(done); - // } - // ], - // function (err) { - // assert.ok(!err); - // done(); - // } - // ); - // }); + Async.chain([ + function (done) { + service.jobs().search('search index=_internal | head 1 | sleep 5', { id: sid }, done); + }, + function (job, done) { + job.track({}, { + ready: function (job) { + done(null, job); + } + }); + }, + function (job, done) { + var priority = job.properties()["priority"]; + assert.ok(priority, 5); + job.setPriority(priority + 1, done); + }, + function (job, done) { + job.fetch(done); + }, + function (job, done) { + job.cancel(done); + } + ], + function (err) { + assert.ok(!err); + done(); + } + ); + }); it("Callback#Search log", function (done) { var sid = getNextId(); diff --git a/tests/service_tests/savedsearch.js b/tests/service_tests/savedsearch.js index c5c95dbbd..5430806ed 100644 --- a/tests/service_tests/savedsearch.js +++ b/tests/service_tests/savedsearch.js @@ -104,7 +104,7 @@ exports.setup = function (svc, loggedOutSvc) { var updatedSearch = "search * | head 10"; var updatedDescription = "description"; - var searches = this.service.savedSearches({ owner: this.service.username, app: "sdk-app-collection" }); + var searches = this.service.savedSearches({ owner: this.service.username, app: "sdkappcollection" }); Async.chain([ function (done) { @@ -172,7 +172,7 @@ exports.setup = function (svc, loggedOutSvc) { var name = "jssdk_savedsearch_" + getNextId(); var originalSearch = "search index=_internal | head 1"; - var searches = this.service.savedSearches({ owner: this.service.username, app: "sdk-app-collection" }); + var searches = this.service.savedSearches({ owner: this.service.username, app: "sdkappcollection" }); Async.chain( [function (done) { @@ -234,7 +234,7 @@ exports.setup = function (svc, loggedOutSvc) { var name = "jssdk_savedsearch_" + getNextId(); var originalSearch = "search index=_internal | head 1"; - var searches = this.service.savedSearches({ owner: this.service.username, app: "sdk-app-collection" }); + var searches = this.service.savedSearches({ owner: this.service.username, app: "sdkappcollection" }); Async.chain( function (done) { @@ -352,7 +352,7 @@ exports.setup = function (svc, loggedOutSvc) { }) it("Callback#delete test saved searches", function (done) { - var searches = this.service.savedSearches({ owner: this.service.username, app: "sdk-app-collection" }); + var searches = this.service.savedSearches({ owner: this.service.username, app: "sdkappcollection" }); searches.fetch(function (err, searches) { var searchList = searches.list(); Async.parallelEach( @@ -381,7 +381,7 @@ exports.setup = function (svc, loggedOutSvc) { }) it("Callback#setupInfo succeeds", function (done) { - var app = new splunkjs.Service.Application(this.service, "sdk-app-collection"); + var app = new splunkjs.Service.Application(this.service, "sdkappcollection"); app.setupInfo(function (err, content, app) { // This error message was removed in modern versions of Splunk if (err) { @@ -406,7 +406,7 @@ exports.setup = function (svc, loggedOutSvc) { }) it("Callback#updateInfo failure", function (done) { - var app = new splunkjs.Service.Application(this.loggedOutService, "sdk-app-collection"); + var app = new splunkjs.Service.Application(this.loggedOutService, "sdkappcollection"); app.updateInfo(function (err, info, app) { assert.ok(err); done(); diff --git a/tests/service_tests/view.js b/tests/service_tests/view.js index 4ff55a371..d1af9a83f 100644 --- a/tests/service_tests/view.js +++ b/tests/service_tests/view.js @@ -38,7 +38,7 @@ exports.setup = function (svc) { Async.chain([ function (done) { - service.views({ owner: "admin", app: "sdk-app-collection" }).create({ name: name, "eai:data": originalData }, done); + service.views({ owner: "admin", app: "sdkappcollection" }).create({ name: name, "eai:data": originalData }, done); }, function (view, done) { assert.ok(view); From c9f2e4561bcd47748073f890f158056214968269 Mon Sep 17 00:00:00 2001 From: vmalaviya Date: Tue, 10 Aug 2021 15:37:44 +0530 Subject: [PATCH 2/2] Updated docker-compose.yml and test.yml --- .github/workflows/test.yml | 20 ++++++++++---------- docker-compose.yml | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 136601a6e..804efe0ff 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -5,7 +5,7 @@ on: [push, pull_request] jobs: build: runs-on: ${{ matrix.os }} - + strategy: matrix: os: @@ -15,8 +15,8 @@ jobs: - 8.17.0 splunk-version: - "8.0" - - "latest" - + - "latest" + services: splunk: image: splunk/splunk:${{matrix.splunk-version}} @@ -24,20 +24,20 @@ jobs: SPLUNK_START_ARGS: --accept-license SPLUNK_HEC_TOKEN: 11111111-1111-1111-1111-1111111111113 SPLUNK_PASSWORD: changed! - SPLUNK_APPS_URL: https://github.com/splunk/sdk-app-collection/releases/download/v1.0.0/sdk-app-collection.tgz + SPLUNK_APPS_URL: https://github.com/splunk/sdk-app-collection/releases/download/v1.1.0/sdkappcollection.tgz ports: - 8000:8000 - 8088:8088 - 8089:8089 - + steps: - uses: actions/checkout@v2 - + - name: Use node ${{ matrix.node }} uses: actions/setup-node@v2 with: node-version: ${{ matrix.node }} - + - name: Create .splunkrc file run: | cd ~ @@ -47,10 +47,10 @@ jobs: echo password=changed! >> .splunkrc echo scheme=https >> .splunkrc echo version=${{ matrix.splunk }} >> .splunkrc - + - name: Run npm install - run: npm install - + run: npm install + - name: Run make test run: make test env: diff --git a/docker-compose.yml b/docker-compose.yml index 5bb5f0805..66bc5ce4e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,7 +8,7 @@ services: - SPLUNK_START_ARGS=--accept-license - SPLUNK_HEC_TOKEN=11111111-1111-1111-1111-1111111111113 - SPLUNK_PASSWORD=changed! - - SPLUNK_APPS_URL=https://github.com/splunk/sdk-app-collection/releases/download/v1.0.0/sdk-app-collection.tgz + - SPLUNK_APPS_URL=https://github.com/splunk/sdk-app-collection/releases/download/v1.1.0/sdkappcollection.tgz ports: - 8000:8000 - 8088:8088