diff --git a/client/splunk.js b/client/splunk.js index 2919e4e0f..29e6f7583 100644 --- a/client/splunk.js +++ b/client/splunk.js @@ -1963,7 +1963,7 @@ require.define("/lib/http.js", function (require, module, exports, __dirname, __ require.define("/lib/service.js", function (require, module, exports, __dirname, __filename) { /*!*/ -// Copyright 2012 Splunk, Inc. +// Copyright 2014 Splunk, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -3504,7 +3504,7 @@ require.define("/lib/service.js", function (require, module, exports, __dirname, * @method splunkjs.Service.SavedSearch */ alertCount: function() { - return parseInt(this.properties().triggered_alert_count) || 0; + return parseInt(this.properties().triggered_alert_count, 10) || 0; }, /** @@ -3758,7 +3758,7 @@ require.define("/lib/service.js", function (require, module, exports, __dirname, /** * Represents a fired alert. * You can retrieve several of the fired alert's properties by - * the corresponding functionn name. + * the corresponding function name. * * @endpoint alerts/fired_alerts/{name} * @class splunkjs.Service.FiredAlert @@ -3840,7 +3840,7 @@ require.define("/lib/service.js", function (require, module, exports, __dirname, * @method splunkjs.Service.FiredAlert */ severity: function() { - return parseInt(this.properties().severity) || -1; + return parseInt(this.properties().severity, 10) || -1; }, /** @@ -3884,7 +3884,7 @@ require.define("/lib/service.js", function (require, module, exports, __dirname, * @method splunkjs.Service.FiredAlert */ triggeredAlertCount: function() { - return parseInt(this.properties().triggered_alerts) || -1; + return parseInt(this.properties().triggered_alerts, 10) || -1; }, /** @@ -3935,7 +3935,7 @@ require.define("/lib/service.js", function (require, module, exports, __dirname, * @method splunkjs.Service.FiredAlertGroup */ count: function() { - return parseInt(this.properties().triggered_alert_count) || 0; + return parseInt(this.properties().triggered_alert_count, 10) || 0; }, /** @@ -4875,7 +4875,7 @@ require.define("/lib/service.js", function (require, module, exports, __dirname, /** * Represents a specific search job. You can perform different operations - * on this job, such as reading its status, cancelling it, and getting results. + * on this job, such as reading its status, canceling it, and getting results. * * @endpoint search/jobs/{search_id} * @class splunkjs.Service.Job diff --git a/client/splunk.min.js b/client/splunk.min.js index 93caabe9d..2bd5ab960 100644 --- a/client/splunk.min.js +++ b/client/splunk.min.js @@ -2,6 +2,6 @@ var __exportName = 'splunkjs'; -var require=function(a,b){var c=require.resolve(a,b||"/"),d=require.modules[c];if(!d)throw new Error("Failed to resolve module "+a+", tried "+c);var e=d._cached?d._cached:d();return e};require.paths=[],require.modules={},require.extensions=[".js",".coffee"],require._core={assert:!0,events:!0,fs:!0,path:!0,vm:!0},require.resolve=function(){return function(a,b){function g(a){if(require.modules[a])return a;for(var b=0;b=0;e--){if(b[e]==="node_modules")continue;var f=b.slice(0,e+1).join("/")+"/node_modules";d.push(f)}return d}b||(b="/");if(require._core[a])return a;var c=require.modules.path();b=c.resolve("/",b);var d=b||"/";if(a.match(/^(?:\.\.?\/|\/)/)){var e=g(c.resolve(d,a))||h(c.resolve(d,a));if(e)return e}var f=i(a,d);if(f)return f;throw new Error("Cannot find module '"+a+"'")}}(),require.alias=function(a,b){var c=require.modules.path(),d=null;try{d=require.resolve(a+"/package.json","/")}catch(e){d=require.resolve(a,"/")}var f=c.dirname(d),g=(Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b})(require.modules);for(var h=0;h0){var c=a.shift();c()}}},!0),function(c){b?(a.push(c),window.postMessage("browserify-tick","*")):setTimeout(c,0)}}()),process.title||(process.title="browser"),process.binding||(process.binding=function(a){if(a==="evals")return require("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),require.define("path",function(a,b,c,d,e){function f(a,b){var c=[];for(var d=0;d=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var h=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;c.resolve=function(){var a="",b=!1;for(var c=arguments.length;c>=-1&&!b;c--){var d=c>=0?arguments[c]:process.cwd();if(typeof d!="string"||!d)continue;a=d+"/"+a,b=d.charAt(0)==="/"}return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),(b?"/":"")+a||"."},c.normalize=function(a){var b=a.charAt(0)==="/",c=a.slice(-1)==="/";return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),!a&&!b&&(a="."),a&&c&&(a+="/"),(b?"/":"")+a},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(f(a,function(a,b){return a&&typeof a=="string"}).join("/"))},c.dirname=function(a){var b=h.exec(a)[1]||"",c=!1;return b?b.length===1||c&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},c.basename=function(a,b){var c=h.exec(a)[2]||"";return b&&c.substr(-1*b.length)===b&&(c=c.substr(0,c.length-b.length)),c},c.extname=function(a){return h.exec(a)[3]||""}}),require.define("/package.json",function(a,b,c,d,e){b.exports={main:"index.js"}}),require.define("/index.js",function(a,b,c,d,e){(function(){var d=c||this;process.env=process.env||{},b.exports=d={Logger:a("./lib/log").Logger,Context:a("./lib/context"),Service:a("./lib/service"),Http:a("./lib/http"),Utils:a("./lib/utils"),Async:a("./lib/async"),Paths:a("./lib/paths").Paths,Class:a("./lib/jquery.class").Class},typeof window=="undefined"&&(d.NodeHttp=a("./lib/platform/node/node_http").NodeHttp)})()}),require.define("/lib/log.js",function(a,b,c,d,e){(function(){"use strict";var b=a("./utils"),d=c||this,e={ALL:4,INFO:3,WARN:2,ERROR:1,NONE:0},f=function(a){b.isString(a)&&e.hasOwnProperty(a)?process.env.LOG_LEVEL=e[a]:!isNaN(parseInt(a,10))&&b.keyOf(parseInt(a,10),e)?process.env.LOG_LEVEL=a:process.env.LOG_LEVEL=e.ERROR};process.env.LOG_LEVEL?f(process.env.LOG_LEVEL):process.env.LOG_LEVEL=e.ERROR;var g,h,i,j;g=h=i=j=function(){};if(typeof console!="undefined"){var k=function(a){return function(b){try{console[a].apply(console,arguments)}catch(c){console[a](b)}}};console.log&&(g=k("log")),console.error&&(i=k("error")),console.warn&&(h=k("warn")),console.info&&(j=k("info"))}c.Logger={log:function(){process.env.LOG_LEVEL>=e.ALL&&g.apply(null,arguments)},error:function(){process.env.LOG_LEVEL>=e.ERROR&&i.apply(null,arguments)},warn:function(){process.env.LOG_LEVEL>=e.WARN&&h.apply(null,arguments)},info:function(){process.env.LOG_LEVEL>=e.INFO&&j.apply(null,arguments)},printMessages:function(a){a=a||[];for(var b=0;b=0},a.startsWith=function(a,b){var c=a.match("^"+b);return c&&c.length>0&&c[0]===b},a.endsWith=function(a,b){var c=a.match(b+"$");return c&&c.length>0&&c[0]===b};var b=Object.prototype.toString;a.toArray=function(a){return Array.prototype.slice.call(a)},a.isArray=Array.isArray||function(a){return b.call(a)==="[object Array]"},a.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)},a.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)},a.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)},a.isObject=function(a){return a===Object(a)},a.isEmpty=function(b){if(a.isArray(b)||a.isString(b))return b.length===0;for(var c in b)if(this.hasOwnProperty.call(b,c))return!1;return!0},a.forEach=function(a,b,c){if(a===null)return;if(Array.prototype.forEach&&a.forEach===Array.prototype.forEach)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,e=a.length;dh)return 1}return 0}}),h.Sharing={USER:"user",APP:"app",GLOBAL:"global",SYSTEM:"system"}})()}),require.define("/lib/paths.js",function(a,b,c,d,e){(function(){"use strict";var a=c||this;a.Paths={apps:"/services/apps/local",capabilities:"authorization/capabilities",configurations:"configs",deploymentClient:"deployment/client",deploymentServers:"deployment/server",deploymentServerClasses:"deployment/serverclass",deploymentTenants:"deployment/tenants",eventTypes:"saved/eventtypes",firedAlerts:"alerts/fired_alerts",indexes:"data/indexes",info:"/services/server/info",inputs:null,jobs:"search/jobs",licenseGroups:"licenser/groups",licenseMessages:"licenser/messages",licensePools:"licenser/pools",licenseSlaves:"licenser/slaves",licenseStacks:"licenser/stacks",licenses:"licenser/licenses",loggers:"server/logger",login:"/services/auth/login",messages:"messages",passwords:"admin/passwords",parser:"search/parser",properties:"properties",roles:"authorization/roles",savedSearches:"saved/searches",settings:"server/settings",users:"/services/authentication/users",typeahead:"search/typeahead",views:"data/ui/views",currentUser:"/services/authentication/current-context",submitEvent:"/services/receivers/simple"}})()}),require.define("/lib/jquery.class.js",function(a,b,c,d,e){(function(){var a=c||this,b=!1,d=/xyz/.test(function(){return xyz})?/\b_super\b/:/.*/;a.Class=function(){},a.Class.extend=function(a){function g(){!b&&this.init&&this.init.apply(this,arguments)}var c=this.prototype;b=!0;var e=new this;b=!1;for(var f in a)e[f]=typeof a[f]=="function"&&typeof c[f]=="function"&&d.test(a[f])?function(a,b){return function(){var d=this._super;this._super=c[a];var e=b.apply(this,arguments);return this._super=d,e}}(f,a[f]):a[f];return g.prototype=e,g.constructor=g,g.extend=arguments.callee,g}})()}),require.define("/lib/http.js",function(a,b,c,d,e){(function(){"use strict";var d=a("./jquery.class").Class,e=a("./log").Logger,f=a("./utils"),g=c||this,h=null,i={5:function(a){var b=a.query||{},c=a.post||{},d=b.output_mode||c.output_mode||"json";return f.startsWith(d,"json")||(d="json"),b.output_mode=d,b},4:function(a){return a.query||{}},"default":function(a){return i[5](a)},none:function(a){return a.query||{}}};b.exports=g=h=d.extend({init:function(){this.get=f.bind(this,this.get),this.del=f.bind(this,this.del),this.post=f.bind(this,this.post),this.request=f.bind(this,this.request),this._buildResponse=f.bind(this,this._buildResponse),this._setSplunkVersion("none")},_setSplunkVersion:function(a){this.version=a},get:function(a,b,c,d,e){var f={method:"GET",headers:b,timeout:d,query:c};return this.request(a,f,e)},post:function(a,b,c,d,e){b["Content-Type"]="application/x-www-form-urlencoded";var f={method:"POST",headers:b,timeout:d,post:c};return this.request(a,f,e)},del:function(a,b,c,d,e){var f={method:"DELETE",headers:b,timeout:d,query:c};return this.request(a,f,e)},request:function(a,b,c){var d=function(a){c=c||function(){},a.status<400&&a.status!=="abort"?c(null,a):c(a)},e=f.getWithVersion(this.version,i)(b),g=b.post||{},j=a+"?"+h.encode(e),k=b.body?b.body:h.encode(g),l={method:b.method,headers:b.headers,timeout:b.timeout,body:k};return this.makeRequest(j,l,d)},makeRequest:function(a,b,c){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},parseJson:function(a){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},_buildResponse:function(a,b,c){var d,g={},h=null;b&&b.headers&&(h=f.trim(b.headers["content-type"]||b.headers["Content-Type"]));if(f.startsWith(h,"application/json")&&c)try{g=this.parseJson(c)||{}}catch(i){e.error("Error in parsing JSON:",c,i),g=c}else g=c;return g&&e.printMessages(g.messages),d={response:b,status:b?b.statusCode:0,data:g,error:a},d}}),h.encode=function(a){var b="";for(var c in a)if(a.hasOwnProperty(c)){b&&b[b.length-1]!=="&"&&(b+="&");var d=a[c];if(d instanceof Array)for(var e=0;e1&&!b)throw new Error("Ambiguous match for name '"+a+"'");for(var e=0;e0)}})}})})()}),require.define("/lib/async.js",function(a,b,c,d,e){(function(){"use strict";var b=a("./utils"),d=c||this;d.whilst=function(a,b,c){a=a||function(){return!1},b=b||function(a){a()},c=c||function(){};var e=function(e){e?c(e):d.whilst(a,b,c)};a()?b(e):c(null)},d.parallel=function(a,c){if(arguments.length>1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){},a.length===0&&c();var e=a.length,f=[],g=function(a){return function(d){if(d)c&&c(d),c=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),f[a]=g,--e===0&&(f.unshift(null),c&&c.apply(null,f))}}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};var e=function(a,c,d,f){if(!a){d.unshift(null),f.apply(null,d);return}a(function(a){if(a)f&&f(a),f=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),d.push(g),e(c[0],c.slice(1),d,f)}})};e(a[0],a.slice(1),[],c)},d.parallelMap=function(a,c,e){a=a||[],e=e||function(){};var f=[],g=function(a,b){return function(d){c(a,b,d)}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};if(!a.length)c();else{var e=function(a,d,f){var g=function(a){if(a)c(a),c=function(){};else{var f=b.toArray(arguments);f.shift(),e(d[0],d.slice(1),f)}},h=f;d.length?h.push(g):h.push(c),a.apply(null,h)};e(a[0],a.slice(1),[])}},d.sleep=function(a,b){setTimeout(function(){b()},a)},d.augment=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);for(var d=0;d=0;e--){if(b[e]==="node_modules")continue;var f=b.slice(0,e+1).join("/")+"/node_modules";d.push(f)}return d}b||(b="/");if(require._core[a])return a;var c=require.modules.path();b=c.resolve("/",b);var d=b||"/";if(a.match(/^(?:\.\.?\/|\/)/)){var e=g(c.resolve(d,a))||h(c.resolve(d,a));if(e)return e}var f=i(a,d);if(f)return f;throw new Error("Cannot find module '"+a+"'")}}(),require.alias=function(a,b){var c=require.modules.path(),d=null;try{d=require.resolve(a+"/package.json","/")}catch(e){d=require.resolve(a,"/")}var f=c.dirname(d),g=(Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b})(require.modules);for(var h=0;h0){var c=a.shift();c()}}},!0),function(c){b?(a.push(c),window.postMessage("browserify-tick","*")):setTimeout(c,0)}}()),process.title||(process.title="browser"),process.binding||(process.binding=function(a){if(a==="evals")return require("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),require.define("path",function(a,b,c,d,e){function f(a,b){var c=[];for(var d=0;d=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var h=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;c.resolve=function(){var a="",b=!1;for(var c=arguments.length;c>=-1&&!b;c--){var d=c>=0?arguments[c]:process.cwd();if(typeof d!="string"||!d)continue;a=d+"/"+a,b=d.charAt(0)==="/"}return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),(b?"/":"")+a||"."},c.normalize=function(a){var b=a.charAt(0)==="/",c=a.slice(-1)==="/";return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),!a&&!b&&(a="."),a&&c&&(a+="/"),(b?"/":"")+a},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(f(a,function(a,b){return a&&typeof a=="string"}).join("/"))},c.dirname=function(a){var b=h.exec(a)[1]||"",c=!1;return b?b.length===1||c&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},c.basename=function(a,b){var c=h.exec(a)[2]||"";return b&&c.substr(-1*b.length)===b&&(c=c.substr(0,c.length-b.length)),c},c.extname=function(a){return h.exec(a)[3]||""}}),require.define("/package.json",function(a,b,c,d,e){b.exports={main:"index.js"}}),require.define("/index.js",function(a,b,c,d,e){(function(){var d=c||this;process.env=process.env||{},b.exports=d={Logger:a("./lib/log").Logger,Context:a("./lib/context"),Service:a("./lib/service"),Http:a("./lib/http"),Utils:a("./lib/utils"),Async:a("./lib/async"),Paths:a("./lib/paths").Paths,Class:a("./lib/jquery.class").Class},typeof window=="undefined"&&(d.NodeHttp=a("./lib/platform/node/node_http").NodeHttp)})()}),require.define("/lib/log.js",function(a,b,c,d,e){(function(){"use strict";var b=a("./utils"),d=c||this,e={ALL:4,INFO:3,WARN:2,ERROR:1,NONE:0},f=function(a){b.isString(a)&&e.hasOwnProperty(a)?process.env.LOG_LEVEL=e[a]:!isNaN(parseInt(a,10))&&b.keyOf(parseInt(a,10),e)?process.env.LOG_LEVEL=a:process.env.LOG_LEVEL=e.ERROR};process.env.LOG_LEVEL?f(process.env.LOG_LEVEL):process.env.LOG_LEVEL=e.ERROR;var g,h,i,j;g=h=i=j=function(){};if(typeof console!="undefined"){var k=function(a){return function(b){try{console[a].apply(console,arguments)}catch(c){console[a](b)}}};console.log&&(g=k("log")),console.error&&(i=k("error")),console.warn&&(h=k("warn")),console.info&&(j=k("info"))}c.Logger={log:function(){process.env.LOG_LEVEL>=e.ALL&&g.apply(null,arguments)},error:function(){process.env.LOG_LEVEL>=e.ERROR&&i.apply(null,arguments)},warn:function(){process.env.LOG_LEVEL>=e.WARN&&h.apply(null,arguments)},info:function(){process.env.LOG_LEVEL>=e.INFO&&j.apply(null,arguments)},printMessages:function(a){a=a||[];for(var b=0;b=0},a.startsWith=function(a,b){var c=a.match("^"+b);return c&&c.length>0&&c[0]===b},a.endsWith=function(a,b){var c=a.match(b+"$");return c&&c.length>0&&c[0]===b};var b=Object.prototype.toString;a.toArray=function(a){return Array.prototype.slice.call(a)},a.isArray=Array.isArray||function(a){return b.call(a)==="[object Array]"},a.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)},a.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)},a.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)},a.isObject=function(a){return a===Object(a)},a.isEmpty=function(b){if(a.isArray(b)||a.isString(b))return b.length===0;for(var c in b)if(this.hasOwnProperty.call(b,c))return!1;return!0},a.forEach=function(a,b,c){if(a===null)return;if(Array.prototype.forEach&&a.forEach===Array.prototype.forEach)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,e=a.length;dh)return 1}return 0}}),h.Sharing={USER:"user",APP:"app",GLOBAL:"global",SYSTEM:"system"}})()}),require.define("/lib/paths.js",function(a,b,c,d,e){(function(){"use strict";var a=c||this;a.Paths={apps:"/services/apps/local",capabilities:"authorization/capabilities",configurations:"configs",deploymentClient:"deployment/client",deploymentServers:"deployment/server",deploymentServerClasses:"deployment/serverclass",deploymentTenants:"deployment/tenants",eventTypes:"saved/eventtypes",firedAlerts:"alerts/fired_alerts",indexes:"data/indexes",info:"/services/server/info",inputs:null,jobs:"search/jobs",licenseGroups:"licenser/groups",licenseMessages:"licenser/messages",licensePools:"licenser/pools",licenseSlaves:"licenser/slaves",licenseStacks:"licenser/stacks",licenses:"licenser/licenses",loggers:"server/logger",login:"/services/auth/login",messages:"messages",passwords:"admin/passwords",parser:"search/parser",properties:"properties",roles:"authorization/roles",savedSearches:"saved/searches",settings:"server/settings",users:"/services/authentication/users",typeahead:"search/typeahead",views:"data/ui/views",currentUser:"/services/authentication/current-context",submitEvent:"/services/receivers/simple"}})()}),require.define("/lib/jquery.class.js",function(a,b,c,d,e){(function(){var a=c||this,b=!1,d=/xyz/.test(function(){return xyz})?/\b_super\b/:/.*/;a.Class=function(){},a.Class.extend=function(a){function g(){!b&&this.init&&this.init.apply(this,arguments)}var c=this.prototype;b=!0;var e=new this;b=!1;for(var f in a)e[f]=typeof a[f]=="function"&&typeof c[f]=="function"&&d.test(a[f])?function(a,b){return function(){var d=this._super;this._super=c[a];var e=b.apply(this,arguments);return this._super=d,e}}(f,a[f]):a[f];return g.prototype=e,g.constructor=g,g.extend=arguments.callee,g}})()}),require.define("/lib/http.js",function(a,b,c,d,e){(function(){"use strict";var d=a("./jquery.class").Class,e=a("./log").Logger,f=a("./utils"),g=c||this,h=null,i={5:function(a){var b=a.query||{},c=a.post||{},d=b.output_mode||c.output_mode||"json";return f.startsWith(d,"json")||(d="json"),b.output_mode=d,b},4:function(a){return a.query||{}},"default":function(a){return i[5](a)},none:function(a){return a.query||{}}};b.exports=g=h=d.extend({init:function(){this.get=f.bind(this,this.get),this.del=f.bind(this,this.del),this.post=f.bind(this,this.post),this.request=f.bind(this,this.request),this._buildResponse=f.bind(this,this._buildResponse),this._setSplunkVersion("none")},_setSplunkVersion:function(a){this.version=a},get:function(a,b,c,d,e){var f={method:"GET",headers:b,timeout:d,query:c};return this.request(a,f,e)},post:function(a,b,c,d,e){b["Content-Type"]="application/x-www-form-urlencoded";var f={method:"POST",headers:b,timeout:d,post:c};return this.request(a,f,e)},del:function(a,b,c,d,e){var f={method:"DELETE",headers:b,timeout:d,query:c};return this.request(a,f,e)},request:function(a,b,c){var d=function(a){c=c||function(){},a.status<400&&a.status!=="abort"?c(null,a):c(a)},e=f.getWithVersion(this.version,i)(b),g=b.post||{},j=a+"?"+h.encode(e),k=b.body?b.body:h.encode(g),l={method:b.method,headers:b.headers,timeout:b.timeout,body:k};return this.makeRequest(j,l,d)},makeRequest:function(a,b,c){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},parseJson:function(a){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},_buildResponse:function(a,b,c){var d,g={},h=null;b&&b.headers&&(h=f.trim(b.headers["content-type"]||b.headers["Content-Type"]));if(f.startsWith(h,"application/json")&&c)try{g=this.parseJson(c)||{}}catch(i){e.error("Error in parsing JSON:",c,i),g=c}else g=c;return g&&e.printMessages(g.messages),d={response:b,status:b?b.statusCode:0,data:g,error:a},d}}),h.encode=function(a){var b="";for(var c in a)if(a.hasOwnProperty(c)){b&&b[b.length-1]!=="&"&&(b+="&");var d=a[c];if(d instanceof Array)for(var e=0;e1&&!b)throw new Error("Ambiguous match for name '"+a+"'");for(var e=0;e0)}})}})})()}),require.define("/lib/async.js",function(a,b,c,d,e){(function(){"use strict";var b=a("./utils"),d=c||this;d.whilst=function(a,b,c){a=a||function(){return!1},b=b||function(a){a()},c=c||function(){};var e=function(e){e?c(e):d.whilst(a,b,c)};a()?b(e):c(null)},d.parallel=function(a,c){if(arguments.length>1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){},a.length===0&&c();var e=a.length,f=[],g=function(a){return function(d){if(d)c&&c(d),c=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),f[a]=g,--e===0&&(f.unshift(null),c&&c.apply(null,f))}}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};var e=function(a,c,d,f){if(!a){d.unshift(null),f.apply(null,d);return}a(function(a){if(a)f&&f(a),f=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),d.push(g),e(c[0],c.slice(1),d,f)}})};e(a[0],a.slice(1),[],c)},d.parallelMap=function(a,c,e){a=a||[],e=e||function(){};var f=[],g=function(a,b){return function(d){c(a,b,d)}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};if(!a.length)c();else{var e=function(a,d,f){var g=function(a){if(a)c(a),c=function(){};else{var f=b.toArray(arguments);f.shift(),e(d[0],d.slice(1),f)}},h=f;d.length?h.push(g):h.push(c),a.apply(null,h)};e(a[0],a.slice(1),[])}},d.sleep=function(a,b){setTimeout(function(){b()},a)},d.augment=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);for(var d=0;d0.6. We need to revisit this test, so disabling it for now. + /*"Results Example Tests": { "Parse row results": function(test) { var main = require("../examples/node/results").main; @@ -11795,7 +11797,7 @@ exports.setup = function(svc, opts) { process.stdin.destroy(); test.done(); } - } + }*/ }; }; @@ -11987,8 +11989,7 @@ if (module === require.main) { }); require.define("/examples/node/helloworld/firedalerts.js", function (require, module, exports, __dirname, __filename) { - -// Copyright 2011 Splunk, Inc. +// Copyright 2014 Splunk, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -12027,7 +12028,7 @@ exports.main = function(opts, done) { version: version }); - // First, we log in + // First, we log in. service.login(function(err, success) { // We check for both errors in the connection as well // as if the login itself failed. @@ -12046,27 +12047,29 @@ exports.main = function(opts, done) { } // Get the list of all fired alert groups, including the all group (represented by "-") - var firedAlertGroups = firedAlertGroups.list(); + var groups = firedAlertGroups.list(); console.log("Fired alert groups:"); - for(var a in firedAlertGroups) { - if (firedAlertGroups.hasOwnProperty(a)) { - var firedAlertGroup = firedAlertGroups[a]; - firedAlertGroup.list(function(err, firedAlerts) { - // How many times was this alert fired? - console.log(firedAlertGroup.name, "(Count:", firedAlertGroup.count(), ")"); - // Print the properties for each fired alert (default of 30 per alert group) - for(var i = 0; i < firedAlerts.length; i++) { - var firedAlert = firedAlerts[i]; - for(var key in firedAlert.properties()) { - if (firedAlert.properties().hasOwnProperty(key)) { - console.log("\t", key, ":", firedAlert.properties()[key]); - } - } - console.log(); + var listGroupCallback = function(err, firedAlerts, firedAlertGroup) { + // How many times was this alert fired? + console.log(firedAlertGroup.name, "(Count:", firedAlertGroup.count(), ")"); + // Print the properties for each fired alert (default of 30 per alert group) + for(var i = 0; i < firedAlerts.length; i++) { + var firedAlert = firedAlerts[i]; + for(var key in firedAlert.properties()) { + if (firedAlert.properties().hasOwnProperty(key)) { + console.log("\t", key, ":", firedAlert.properties()[key]); } - console.log("======================================"); - }); + } + console.log(); + } + console.log("======================================"); + }; + + for(var a in groups) { + if (groups.hasOwnProperty(a)) { + var firedAlertGroup = groups[a]; + firedAlertGroup.list(listGroupCallback); } } @@ -12078,11 +12081,11 @@ exports.main = function(opts, done) { if (module === require.main) { exports.main({}, function() {}); } + }); require.define("/examples/node/helloworld/firedalerts_async.js", function (require, module, exports, __dirname, __filename) { - -// Copyright 2011 Splunk, Inc. +// Copyright 2014 Splunk, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -12104,7 +12107,7 @@ var splunkjs = require('../../../index'); var Async = splunkjs.Async; exports.main = function(opts, callback) { - // This is just for testing - ignore it + // This is just for testing - ignore it. opts = opts || {}; var username = opts.username || "admin"; @@ -12124,7 +12127,7 @@ exports.main = function(opts, callback) { }); Async.chain([ - // First, we log in + // First, we log in. function(done) { service.login(done); }, @@ -12134,22 +12137,22 @@ exports.main = function(opts, callback) { done("Error logging in"); } - // Now that we're logged in, let's get a listing of all the fired alert groups + // Now that we're logged in, let's get a listing of all the fired alert groups. service.firedAlertGroups().fetch(done); }, - // Print them out + // Print them out. function(firedAlertGroups, done) { - // Get the list of all fired alert groups, including the all group (represented by "-") - var firedAlertGroups = firedAlertGroups.list(); + // Get the list of all fired alert groups, including the all group (represented by "-"). + var groups = firedAlertGroups.list(); console.log("Fired alert groups:"); Async.seriesEach( - firedAlertGroups, + groups, function(firedAlertGroup, index, seriescallback) { firedAlertGroup.list(function(err, firedAlerts){ // How many times was this alert fired? console.log(firedAlertGroup.name, "(Count:", firedAlertGroup.count(), ")"); - // Print the properties for each fired alert (default of 30 per alert group) + // Print the properties for each fired alert (default of 30 per alert group). for(var i = 0; i < firedAlerts.length; i++) { var firedAlert = firedAlerts[i]; for (var key in firedAlert.properties()) { @@ -12185,11 +12188,11 @@ exports.main = function(opts, callback) { if (module === require.main) { exports.main({}, function() {}); } + }); require.define("/examples/node/helloworld/firedalerts_create.js", function (require, module, exports, __dirname, __filename) { - -// Copyright 2011 Splunk, Inc. +// Copyright 2014 Splunk, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -12208,7 +12211,7 @@ require.define("/examples/node/helloworld/firedalerts_create.js", function (requ var splunkjs = require('../../../index'); exports.main = function(opts, done) { - // This is just for testing - ignore it + // This is just for testing - ignore it. opts = opts || {}; var username = opts.username || "admin"; @@ -12227,7 +12230,7 @@ exports.main = function(opts, done) { version: version }); - // First, we log in + // First, we log in. service.login(function(err, success) { // We check for both errors in the connection as well // as if the login itself failed. @@ -12250,7 +12253,7 @@ exports.main = function(opts, done) { "cron_schedule": "* * * * *" }; - // Now that we're logged in, Let's create a saved search + // Now that we're logged in, let's create a saved search. service.savedSearches().create(alertOptions, function(err, alert) { if (err && err.status === 409) { console.error("ERROR: A saved search with the name '" + alertOptions.name + "' already exists"); @@ -12272,11 +12275,11 @@ exports.main = function(opts, done) { if (module === require.main) { exports.main({}, function() {}); } + }); require.define("/examples/node/helloworld/firedalerts_delete.js", function (require, module, exports, __dirname, __filename) { - -// Copyright 2011 Splunk, Inc. +// Copyright 2014 Splunk, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"): you may // not use this file except in compliance with the License. You may obtain @@ -12296,7 +12299,7 @@ require.define("/examples/node/helloworld/firedalerts_delete.js", function (requ var splunkjs = require('../../../index'); exports.main = function(opts, done) { - // This is just for testing - ignore it + // This is just for testing - ignore it. opts = opts || {}; var username = opts.username || "admin"; @@ -12315,10 +12318,10 @@ exports.main = function(opts, done) { version: version }); - // First, we log in + // First, we log in. service.login(function(err, success) { // We check for both errors in the connection as well - // as if the login itself failed. + // as whether the login itself failed. if (err || !success) { console.log("Error in logging in"); done(err || "Login failed"); @@ -12327,7 +12330,7 @@ exports.main = function(opts, done) { var name = "My Awesome Alert"; - // Now that we're logged in, let's delete the alert + // Now that we're logged in, let's delete the alert. service.savedSearches().fetch(function(err, firedAlertGroups) { if (err) { console.log("There was an error in fetching the alerts"); @@ -12352,6 +12355,7 @@ exports.main = function(opts, done) { if (module === require.main) { exports.main({}, function() {}); } + }); require.define("/examples/node/helloworld/savedsearches.js", function (require, module, exports, __dirname, __filename) { @@ -13128,10 +13132,10 @@ var Logger = splunkjs.Class.extend({ opts = opts || {}; this.params = {}; - if (opts.index) this.params.index = opts.index; - if (opts.host) this.params.host = opts.host; - if (opts.source) this.params.source = opts.source; - if (opts.sourcetype) this.params.sourcetype = opts.sourcetype || "demo-logger"; + if (opts.index) { this.params.index = opts.index; } + if (opts.host) { this.params.host = opts.host; } + if (opts.source) { this.params.source = opts.source; } + if (opts.sourcetype) { this.params.sourcetype = opts.sourcetype || "demo-logger"; } if (!this.service) { throw new Error("Must supply a valid service"); @@ -13180,7 +13184,7 @@ var Logger = splunkjs.Class.extend({ this.service.log(message, this.params); console.warn(data); - }, + } }); exports.main = function(opts, done) { @@ -14329,121 +14333,6 @@ EventEmitter.prototype.listeners = function(type) { }); -require.define("/examples/node/results.js", function (require, module, exports, __dirname, __filename) { - -// Copyright 2011 Splunk, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"): you may -// not use this file except in compliance with the License. You may obtain -// a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -// License for the specific language governing permissions and limitations -// under the License. - -(function() { - var splunkjs = require('../../index'); - var Class = splunkjs.Class; - var utils = splunkjs.Utils; - var Async = splunkjs.Async; - var options = require('./cmdline'); - - // Print the result rows - var printRows = function(results) { - for(var i = 0; i < results.rows.length; i++) { - console.log("Result " + (i + 1) + ": "); - var row = results.rows[i]; - for(var j = 0; j < results.fields.length; j++) { - var field = results.fields[j]; - var value = row[j]; - - console.log(" " + field + " = " + value); - } - } - }; - - // Instead of trying to print the column-major format, we just - // transpose it - var transpose = function(results) { - var rows = []; - var cols = results.columns; - - var mapFirst = function(col) { return col.shift(); }; - - while(cols.length > 0 && cols[0].length > 0) { - rows.push(cols.map(mapFirst)); - } - - results.rows = rows; - return results; - }; - - // Print the results - var printResults = function(results) { - if (results) { - var isRows = !!results.rows; - var numResults = (results.rows ? results.rows.length : (results.columns[0] || []).length); - - console.log("====== " + numResults + " RESULTS (preview: " + !!results.preview + ") ======"); - - // If it is in column-major form, transpose it. - if (!isRows) { - results = transpose(results); - } - - printRows(results); - } - }; - - exports.main = function(argv, callback) { - splunkjs.Logger.setLevel("NONE"); - - // Read data from stdin - var incomingResults = ""; - var onData = function(data) { - incomingResults += data.toString("utf-8"); - }; - - // When there is no more data, parse it and pretty - // print it - var onEnd = function() { - var results = JSON.parse(incomingResults || "{}"); - printResults(results); - callback(); - }; - - var onError = function() { - callback("ERROR"); - }; - - // Unregister all the listeners when we're done - var originalCallback = callback || function() {}; - callback = function() { - process.stdin.removeListener("data", onData); - process.stdin.removeListener("end", onEnd); - process.stdin.removeListener("error", onError); - process.stdin.pause(); - - originalCallback.apply(null, arguments); - }; - - process.stdin.on("data", onData); - process.stdin.on("end", onEnd); - process.stdin.on("error", onError); - - process.stdin.resume(); - }; - - if (module === require.main) { - exports.main(process.argv); - } -})(); -}); - require.define("/browser.test.entry.js", function (require, module, exports, __dirname, __filename) { // Copyright 2011 Splunk, Inc. diff --git a/client/splunk.test.min.js b/client/splunk.test.min.js index a349a9ae7..b1894d07a 100644 --- a/client/splunk.test.min.js +++ b/client/splunk.test.min.js @@ -2,6 +2,6 @@ var __exportName = 'splunkjs'; -var require=function(a,b){var c=require.resolve(a,b||"/"),d=require.modules[c];if(!d)throw new Error("Failed to resolve module "+a+", tried "+c);var e=d._cached?d._cached:d();return e};require.paths=[],require.modules={},require.extensions=[".js",".coffee"],require._core={assert:!0,events:!0,fs:!0,path:!0,vm:!0},require.resolve=function(){return function(a,b){function g(a){if(require.modules[a])return a;for(var b=0;b=0;e--){if(b[e]==="node_modules")continue;var f=b.slice(0,e+1).join("/")+"/node_modules";d.push(f)}return d}b||(b="/");if(require._core[a])return a;var c=require.modules.path();b=c.resolve("/",b);var d=b||"/";if(a.match(/^(?:\.\.?\/|\/)/)){var e=g(c.resolve(d,a))||h(c.resolve(d,a));if(e)return e}var f=i(a,d);if(f)return f;throw new Error("Cannot find module '"+a+"'")}}(),require.alias=function(a,b){var c=require.modules.path(),d=null;try{d=require.resolve(a+"/package.json","/")}catch(e){d=require.resolve(a,"/")}var f=c.dirname(d),g=(Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b})(require.modules);for(var h=0;h0){var c=a.shift();c()}}},!0),function(c){b?(a.push(c),window.postMessage("browserify-tick","*")):setTimeout(c,0)}}()),process.title||(process.title="browser"),process.binding||(process.binding=function(a){if(a==="evals")return require("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),require.define("path",function(a,b,c,d,e){function f(a,b){var c=[];for(var d=0;d=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var h=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;c.resolve=function(){var a="",b=!1;for(var c=arguments.length;c>=-1&&!b;c--){var d=c>=0?arguments[c]:process.cwd();if(typeof d!="string"||!d)continue;a=d+"/"+a,b=d.charAt(0)==="/"}return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),(b?"/":"")+a||"."},c.normalize=function(a){var b=a.charAt(0)==="/",c=a.slice(-1)==="/";return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),!a&&!b&&(a="."),a&&c&&(a+="/"),(b?"/":"")+a},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(f(a,function(a,b){return a&&typeof a=="string"}).join("/"))},c.dirname=function(a){var b=h.exec(a)[1]||"",c=!1;return b?b.length===1||c&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},c.basename=function(a,b){var c=h.exec(a)[2]||"";return b&&c.substr(-1*b.length)===b&&(c=c.substr(0,c.length-b.length)),c},c.extname=function(a){return h.exec(a)[3]||""}}),require.define("/tests/test_utils.js",function(a,b,c,d,e){c.setup=function(){var b=a("../index");return b.Logger.setLevel("ALL"),{"Callback#callback to object success":function(a){var b=function(a){a(null,"one","two")};b(function(b,c,d){a.strictEqual(c,"one"),a.strictEqual(d,"two"),a.done()})},"Callback#callback to object error - single argument":function(a){var b=function(a){a("one")};b(function(b,c,d){a.strictEqual(b,"one"),a.ok(!c),a.ok(!d),a.done()})},"Callback#callback to object error - multi argument":function(a){var b=function(a){a(["one","two"])};b(function(b,c,d){a.strictEqual(b[0],"one"),a.strictEqual(b[1],"two"),a.ok(!c),a.ok(!d),a.done()})},"keyOf works":function(a){a.ok(b.Utils.keyOf(3,{a:3,b:5})),a.ok(!b.Utils.keyOf(3,{a:12,b:6})),a.done()},bind:function(a){var c;(function(){c=function(a){this.a=a}})();var d={},e=b.Utils.bind(d,c);e(12),a.strictEqual(d.a,12),a.done()},trim:function(a){a.strictEqual(b.Utils.trim(" test of something \n\r \t"),"test of something");var c=String.prototype.trim;String.prototype.trim=null,a.strictEqual(b.Utils.trim(" test of something \n\r \t"),"test of something"),String.prototype.trim=c,a.done()},indexOf:function(a){a.strictEqual(b.Utils.indexOf([1,2,3,4,5],3),2),a.strictEqual(b.Utils.indexOf([1,2,3,4,3],3),2),a.strictEqual(b.Utils.indexOf([1,2,3,4,5],12),-1),a.done()},contains:function(a){a.ok(b.Utils.contains([1,2,3,4,5],3)),a.ok(b.Utils.contains([1,2,3,4,3],3)),a.ok(!b.Utils.contains([1,2,3,4,5],12)),a.done()},startsWith:function(a){a.ok(b.Utils.startsWith("abcdefg","abc")),a.ok(!b.Utils.startsWith("bcdefg","abc")),a.done()},endsWith:function(a){a.ok(b.Utils.endsWith("abcdef","def")),a.ok(!b.Utils.endsWith("abcdef","bcd")),a.done()},toArray:function(a){(function(){var c=b.Utils.toArray(arguments),d=[1,2,3,4,5];for(var e=0;e=e.ALL&&g.apply(null,arguments)},error:function(){process.env.LOG_LEVEL>=e.ERROR&&i.apply(null,arguments)},warn:function(){process.env.LOG_LEVEL>=e.WARN&&h.apply(null,arguments)},info:function(){process.env.LOG_LEVEL>=e.INFO&&j.apply(null,arguments)},printMessages:function(a){a=a||[];for(var b=0;b=0},a.startsWith=function(a,b){var c=a.match("^"+b);return c&&c.length>0&&c[0]===b},a.endsWith=function(a,b){var c=a.match(b+"$");return c&&c.length>0&&c[0]===b};var b=Object.prototype.toString;a.toArray=function(a){return Array.prototype.slice.call(a)},a.isArray=Array.isArray||function(a){return b.call(a)==="[object Array]"},a.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)},a.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)},a.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)},a.isObject=function(a){return a===Object(a)},a.isEmpty=function(b){if(a.isArray(b)||a.isString(b))return b.length===0;for(var c in b)if(this.hasOwnProperty.call(b,c))return!1;return!0},a.forEach=function(a,b,c){if(a===null)return;if(Array.prototype.forEach&&a.forEach===Array.prototype.forEach)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,e=a.length;dh)return 1}return 0}}),h.Sharing={USER:"user",APP:"app",GLOBAL:"global",SYSTEM:"system"}})()}),require.define("/lib/paths.js",function(a,b,c,d,e){(function(){"use strict";var a=c||this;a.Paths={apps:"/services/apps/local",capabilities:"authorization/capabilities",configurations:"configs",deploymentClient:"deployment/client",deploymentServers:"deployment/server",deploymentServerClasses:"deployment/serverclass",deploymentTenants:"deployment/tenants",eventTypes:"saved/eventtypes",firedAlerts:"alerts/fired_alerts",indexes:"data/indexes",info:"/services/server/info",inputs:null,jobs:"search/jobs",licenseGroups:"licenser/groups",licenseMessages:"licenser/messages",licensePools:"licenser/pools",licenseSlaves:"licenser/slaves",licenseStacks:"licenser/stacks",licenses:"licenser/licenses",loggers:"server/logger",login:"/services/auth/login",messages:"messages",passwords:"admin/passwords",parser:"search/parser",properties:"properties",roles:"authorization/roles",savedSearches:"saved/searches",settings:"server/settings",users:"/services/authentication/users",typeahead:"search/typeahead",views:"data/ui/views",currentUser:"/services/authentication/current-context",submitEvent:"/services/receivers/simple"}})()}),require.define("/lib/jquery.class.js",function(a,b,c,d,e){(function(){var a=c||this,b=!1,d=/xyz/.test(function(){return xyz})?/\b_super\b/:/.*/;a.Class=function(){},a.Class.extend=function(a){function g(){!b&&this.init&&this.init.apply(this,arguments)}var c=this.prototype;b=!0;var e=new this;b=!1;for(var f in a)e[f]=typeof a[f]=="function"&&typeof c[f]=="function"&&d.test(a[f])?function(a,b){return function(){var d=this._super;this._super=c[a];var e=b.apply(this,arguments);return this._super=d,e}}(f,a[f]):a[f];return g.prototype=e,g.constructor=g,g.extend=arguments.callee,g}})()}),require.define("/lib/http.js",function(a,b,c,d,e){(function(){"use strict";var d=a("./jquery.class").Class,e=a("./log").Logger,f=a("./utils"),g=c||this,h=null,i={5:function(a){var b=a.query||{},c=a.post||{},d=b.output_mode||c.output_mode||"json";return f.startsWith(d,"json")||(d="json"),b.output_mode=d,b},4:function(a){return a.query||{}},"default":function(a){return i[5](a)},none:function(a){return a.query||{}}};b.exports=g=h=d.extend({init:function(){this.get=f.bind(this,this.get),this.del=f.bind(this,this.del),this.post=f.bind(this,this.post),this.request=f.bind(this,this.request),this._buildResponse=f.bind(this,this._buildResponse),this._setSplunkVersion("none")},_setSplunkVersion:function(a){this.version=a},get:function(a,b,c,d,e){var f={method:"GET",headers:b,timeout:d,query:c};return this.request(a,f,e)},post:function(a,b,c,d,e){b["Content-Type"]="application/x-www-form-urlencoded";var f={method:"POST",headers:b,timeout:d,post:c};return this.request(a,f,e)},del:function(a,b,c,d,e){var f={method:"DELETE",headers:b,timeout:d,query:c};return this.request(a,f,e)},request:function(a,b,c){var d=function(a){c=c||function(){},a.status<400&&a.status!=="abort"?c(null,a):c(a)},e=f.getWithVersion(this.version,i)(b),g=b.post||{},j=a+"?"+h.encode(e),k=b.body?b.body:h.encode(g),l={method:b.method,headers:b.headers,timeout:b.timeout,body:k};return this.makeRequest(j,l,d)},makeRequest:function(a,b,c){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},parseJson:function(a){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},_buildResponse:function(a,b,c){var d,g={},h=null;b&&b.headers&&(h=f.trim(b.headers["content-type"]||b.headers["Content-Type"]));if(f.startsWith(h,"application/json")&&c)try{g=this.parseJson(c)||{}}catch(i){e.error("Error in parsing JSON:",c,i),g=c}else g=c;return g&&e.printMessages(g.messages),d={response:b,status:b?b.statusCode:0,data:g,error:a},d}}),h.encode=function(a){var b="";for(var c in a)if(a.hasOwnProperty(c)){b&&b[b.length-1]!=="&"&&(b+="&");var d=a[c];if(d instanceof Array)for(var e=0;e1&&!b)throw new Error("Ambiguous match for name '"+a+"'");for(var e=0;e0)}})}})})()}),require.define("/lib/async.js",function(a,b,c,d,e){(function(){"use strict";var b=a("./utils"),d=c||this;d.whilst=function(a,b,c){a=a||function(){return!1},b=b||function(a){a()},c=c||function(){};var e=function(e){e?c(e):d.whilst(a,b,c)};a()?b(e):c(null)},d.parallel=function(a,c){if(arguments.length>1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){},a.length===0&&c();var e=a.length,f=[],g=function(a){return function(d){if(d)c&&c(d),c=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),f[a]=g,--e===0&&(f.unshift(null),c&&c.apply(null,f))}}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};var e=function(a,c,d,f){if(!a){d.unshift(null),f.apply(null,d);return}a(function(a){if(a)f&&f(a),f=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),d.push(g),e(c[0],c.slice(1),d,f)}})};e(a[0],a.slice(1),[],c)},d.parallelMap=function(a,c,e){a=a||[],e=e||function(){};var f=[],g=function(a,b){return function(d){c(a,b,d)}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};if(!a.length)c();else{var e=function(a,d,f){var g=function(a){if(a)c(a),c=function(){};else{var f=b.toArray(arguments);f.shift(),e(d[0],d.slice(1),f)}},h=f;d.length?h.push(g):h.push(c),a.apply(null,h)};e(a[0],a.slice(1),[])}},d.sleep=function(a,b){setTimeout(function(){b()},a)},d.augment=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);for(var d=0;d","Username to login with",undefined,!0).option("--password ","Username to login with",undefined,!1).option("--scheme ","Scheme to use","https",!1).option("--host ","Hostname to use","localhost",!1).option("--port ","Port to use",8089,!1).option("--version ","Which version to use","4",!1),a.parse=function(c){c=(c||[]).slice(2);var d=j();for(var e in d)if(d.hasOwnProperty(e)&&c.indexOf("--"+e)<0){var f=d[e];c.unshift(f),c.unshift("--"+e.trim())}c.unshift(""),c.unshift("");var g=b.call(a,c);return g},a.add=function(b,c,d,e,f,h){var i={};e=e||[];var j=a.command(b+(d?" "+d:"")).description(c||"");for(var k=0;k=0,m="<"+e[k]+">";j.option("--"+e[k]+" "+m,"",undefined,l)}j.action(function(){var a=g.toArray(arguments);a.unshift(b),h.apply(null,a)})},a}})()}),require.define("fs",function(a,b,c,d,e){}),require.define("/tests/test_service.js",function(a,b,c,d,e){c.setup=function(b,c){var d=a("../index"),e=d.Utils,f=d.Async,g=a("./utils");d.Logger.setLevel("ALL");var h=0,i=function(){return"id"+h++ +"_"+(new Date).valueOf()},j={"Namespace Tests":{setUp:function(a){this.service=b;var c=this,d="jssdk_testapp_"+i(),e="jssdk_testapp_"+i(),g="jssdk_testuser_"+i(),h="jssdk_testuser_"+i(),j=this.service.apps(),k=this.service.users();this.namespace11={owner:g,app:d},this.namespace12={owner:g,app:e},this.namespace21={owner:h,app:d},this.namespace22={owner:h,app:e},f.chain([function(a){j.create({name:d},a)},function(a,b){c.app1=a,c.appName1=d,j.create({name:e},b)},function(a,b){c.app2=a,c.appName2=e,k.create({name:g,password:"abc",roles:["user"]},b)},function(a,b){c.user1=a,c.userName1=g,k.create({name:h,password:"abc",roles:["user"]},b)},function(a,b){c.user2=a,c.userName2=h,b()}],function(b){a()})},"Callback#Namespace protection":function(a){var b="jssdk_search_"+i(),c="search *",d=this.service,e=d.savedSearches(this.namespace11),g=d.savedSearches(this.namespace21),h=this;f.chain([function(a){e.create({name:b,search:c},a)},function(a,b){e.fetch(b)},function(a,b){g.fetch(b)},function(d,f){var h=e.item(b),i=g.item(b);a.ok(h),a.strictEqual(h.name,b),a.strictEqual(h.properties().search,c),a.ok(!i),f()}],function(b){a.ok(!b),a.done()})},"Callback#Namespace item":function(a){var b="jssdk_search_"+i(),c="search *",d=this.service,e={owner:"-",app:this.appName1},g={owner:"nobody",app:this.appName1},h=d.savedSearches(this.namespace11),j=d.savedSearches(this.namespace21),k=d.savedSearches(e),l=d.savedSearches(g),m=this;f.chain([function(a){h.create({name:b,search:c},a)},function(a,d){j.create({name:b,search:c},d)},function(a,b){k.fetch(b)},function(a,b){h.fetch(b)},function(a,b){j.fetch(b)},function(d,e){var f=h.item(b,m.namespace11),g=j.item(b,m.namespace21);a.ok(f),a.strictEqual(f.name,b),a.strictEqual(f.properties().search,c),a.strictEqual(f.namespace.owner,m.namespace11.owner),a.strictEqual(f.namespace.app,m.namespace11.app),a.ok(g),a.strictEqual(g.name,b),a.strictEqual(g.properties().search,c),a.strictEqual(g.namespace.owner,m.namespace21.owner),a.strictEqual(g.namespace.app,m.namespace21.app),e()},function(a){l.create({name:b,search:c},a)},function(a,b){h.fetch(b)},function(a,b){j.fetch(b)},function(d,e){var f=!1;try{var g=k.item(b)}catch(h){f=!0}a.ok(f);var i=k.item(b,m.namespace11),j=k.item(b,m.namespace21);a.ok(i),a.strictEqual(i.name,b),a.strictEqual(i.properties().search,c),a.strictEqual(i.namespace.owner,m.namespace11.owner),a.strictEqual(i.namespace.app,m.namespace11.app),a.ok(j),a.strictEqual(j.name,b),a.strictEqual(j.properties().search,c),a.strictEqual(j.namespace.owner,m.namespace21.owner),a.strictEqual(j.namespace.app,m.namespace21.app),e()}],function(b){a.ok(!b),a.done()})},"Callback#delete test applications":function(a){var b=this.service.apps();b.fetch(function(b,c){a.ok(!b),a.ok(c);var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})},"Callback#delete test users":function(a){var b=this.service.users();b.fetch(function(b,c){var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})}},"Job Tests":{setUp:function(a){this.service=b,a()},"Callback#Create+abort job":function(a){var b=i(),c={id:b},e=this.service.jobs({app:"xml2json"}),f=e.oneshotSearch("search index=_internal | head 1 | sleep 10",c,function(b,c){a.ok(b),a.ok(!c),a.strictEqual(b.error,"abort"),a.done()});d.Async.sleep(1e3,function(){f.abort()})},"Callback#Create+cancel job":function(a){var b=i();this.service.jobs().search("search index=_internal | head 1",{id:b},function(c,d){a.ok(d),a.strictEqual(d.sid,b),d.cancel(function(){a.done()})})},"Callback#Create job error":function(a){var b=i();this.service.jobs().search({search:"index=_internal | head 1",id:b},function(b){a.ok(!!b),a.done()})},"Callback#List jobs":function(a){this.service.jobs().fetch(function(b,c){a.ok(!b),a.ok(c);var d=c.list();a.ok(d.length>0);for(var e=0;ec),a.ok(e<=c*2),b.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Set priority":function(a){var b=i(),c=0,d=this,e=this.service.specialize("nobody","xml2json");f.chain([function(a){e.jobs().search("search index=_internal | head 1 | sleep 5",{id:b},a)},function(a,b){a.track({},{ready:function(a){b(null,a)}})},function(b,c){var d=b.properties().priority;a.ok(d,5),b.setPriority(d+1,c)},function(a,b){a.fetch(b)},function(a,b){a.cancel(b)}],function(b){a.ok(!b),a.done()})},"Callback#Search log":function(a){var b=i(),c=this;f.chain([function(a){c.service.jobs().search("search index=_internal | head 1",{id:b,exec_mode:"blocking"},a)},function(a,b){a.searchlog(b)},function(b,c,d){a.ok(c),a.ok(b),a.ok(b.length>0),a.ok(b.split("\r\n").length>0),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Search summary":function(a){var b=i(),c=this;f.chain([function(a){c.service.jobs().search('search index=_internal | head 1 | eval foo="bar" | fields foo',{id:b,status_buckets:300,rf:["foo"]},a)},function(a,b){f.sleep(2e3,function(){a.summary({},b)})},function(b,c,d){a.ok(c),a.ok(b),a.strictEqual(b.event_count,1),a.strictEqual(b.fields.foo.count,1),a.strictEqual(b.fields.foo.distinct_count,1),a.ok(b.fields.foo.is_exact,1),a.strictEqual(b.fields.foo.modes.length,1),a.strictEqual(b.fields.foo.modes[0].count,1),a.strictEqual(b.fields.foo.modes[0].value,"bar"),a.ok(b.fields.foo.modes[0].is_exact),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Search timeline":function(a){var b=i(),c=this;f.chain([function(a){c.service.jobs().search('search index=_internal | head 1 | eval foo="bar" | fields foo',{id:b,status_buckets:300,rf:["foo"],exec_mode:"blocking"},a)},function(a,b){a.timeline({},b)},function(b,c,d){a.ok(c),a.ok(b),a.strictEqual(b.buckets.length,1),a.strictEqual(b.event_count,1),a.strictEqual(b.buckets[0].available_count,1),a.strictEqual(b.buckets[0].duration,.001),a.strictEqual(b.buckets[0].earliest_time_offset,b.buckets[0].latest_time_offset),a.strictEqual(b.buckets[0].total_count,1),a.ok(b.buckets[0].is_finalized),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Touch":function(a){var b=i(),c=this,d="";f.chain([function(a){c.service.jobs().search("search index=_internal | head 1",{id:b},a)},function(a,b){a.fetch(b)},function(b,c){a.ok(b),d=b.properties().updated,f.sleep(1200,function(){b.touch(c)})},function(a,b){a.fetch(b)},function(b,c){a.ok(d!==b.updated()),b.cancel(c)}],function(b){a.ok(!b),a.done()})},"Callback#Create failure":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",d=this.service.jobs();a.throws(function(){d.create({search:c,name:b,exec_mode:"oneshot"},function(){})}),a.done()},"Callback#Create fails with no search string":function(a){var b=this.service.jobs();b.create("",{},function(b){a.ok(b),a.done()})},"Callback#Oneshot search":function(a){var b=i(),c=this,d="";f.chain([function(a){c.service.jobs().oneshotSearch("search index=_internal | head 1 | stats count",{id:b},a)},function(b,c){a.ok(b),a.ok(b.fields),a.strictEqual(b.fields.length,1),a.strictEqual(b.fields[0],"count"),a.ok(b.rows),a.strictEqual(b.rows.length,1),a.strictEqual(b.rows[0].length,1),a.strictEqual(b.rows[0][0],"1"),c()}],function(b){a.ok(!b),a.done()})},"Callback#Oneshot search with no results":function(a){var b=i(),c=this,d="";f.chain([function(a){var d="search index=history MUST_NOT_EXISTABCDEF";c.service.jobs().oneshotSearch(d,{id:b},a)},function(b,c){a.ok(b),a.strictEqual(b.fields.length,0),a.strictEqual(b.rows.length,0),a.ok(!b.preview),c()}],function(b){a.ok(!b),a.done()})},"Callback#Service oneshot search":function(a){var b=i(),c=this,d="";f.chain([function(a){c.service.oneshotSearch("search index=_internal | head 1 | stats count",{id:b},a)},function(b,c){a.ok(b),a.ok(b.fields),a.strictEqual(b.fields.length,1),a.strictEqual(b.fields[0],"count"),a.ok(b.rows),a.strictEqual(b.rows.length,1),a.strictEqual(b.rows[0].length,1),a.strictEqual(b.rows[0][0],"1"),c()}],function(b){a.ok(!b),a.done()})},"Callback#Service search":function(a){var b=i(),c=this.service,d=this;f.chain([function(a){d.service.search("search index=_internal | head 1 | stats count",{id:b},a)},function(c,d){a.strictEqual(c.sid,b),g.pollUntil(c,function(a){return c.properties().isDone},10,d)},function(a,b){a.results({},b)},function(b,c,d){a.strictEqual(b.rows.length,1),a.strictEqual(b.fields.length,1),a.strictEqual(b.fields[0],"count"),a.strictEqual(b.rows[0][0],"1"),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Wait until job done":function(a){this.service.search("search index=_internal | head 1000",{},function(b,c){a.ok(!b);var d=0,e=0;c.track({period:200},{ready:function(b){a.ok(b),d++},progress:function(b){a.ok(b),e++},done:function(b){a.ok(b),a.ok(d===1),a.ok(e>=1),a.done()},failed:function(b){a.ok(b),a.ok(!1,"Job failed unexpectedly."),a.done()},error:function(b){a.ok(b),a.ok(!1,"Error while tracking job."),a.done()}})})},"Callback#Wait until job failed":function(a){this.service.search("search index=_internal | head bogusarg",{},function(b,c){if(b){a.ok(!b),a.done();return}var d=0,e=0;c.track({period:200},{ready:function(b){a.ok(b),d++},progress:function(b){a.ok(b),e++},done:function(b){a.ok(b),a.ok(!1,"Job became done unexpectedly."),a.done()},failed:function(b){a.ok(b),a.ok(d===1),a.ok(e>=1),a.done()},error:function(b){a.ok(b),a.ok(!1,"Error while tracking job."),a.done()}})})},"Callback#track() with default params and one function":function(a){this.service.search("search index=_internal | head 1",{},function(b,c){if(b){a.ok(!b),a.done();return}c.track({},function(b){a.ok(b),a.done()})})},"Callback#track() should stop polling if only the ready callback is specified":function(a){this.service.search("search index=_internal | head 1",{},function(b,c){if(b){a.ok(!b),a.done();return}c.track({},{ready:function(b){a.ok(b)},_stoppedAfterReady:function(b){a.done()}})})},"Callback#track() a job that is not immediately ready":function(a){var b=20,c=b,d=!1;for(var e=0;e0),a.done()})},"Callback#contains applications":function(a){var b=this.service.apps();b.fetch(function(b,c){var d=c.item("search");a.ok(d),a.done()})},"Callback#create + contains app":function(a){var b="jssdk_testapp_"+i(),c=this.service.apps();c.create({name:b},function(b,d){var e=d.name;c.fetch(function(b,c){var f=c.item(e);a.ok(f),d.remove(function(){a.done()})})})},"Callback#create + modify app":function(a){var b="TEST DESCRIPTION",c="1.1",d="jssdk_testapp_"+i(),e=this.service.apps();f.chain([function(a){e.create({name:d},a)},function(e,f){a.ok(e),a.strictEqual(e.name,d),a.strictEqual(e.properties().version,"1.0"),e.update({description:b,version:c},f)},function(d,e){a.ok(d);var f=d.properties();a.strictEqual(f.description,b),a.strictEqual(f.version,c),d.remove(e)},function(b){a.done(),b()}])},"Callback#delete test applications":function(a){var b=this.service.apps();b.fetch(function(b,c){var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})}},"Saved Search Tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Callback#list":function(a){var b=this.service.savedSearches();b.fetch(function(b,c){var d=c.list();a.ok(d.length>0);for(var e=0;e0);for(var e=0;e1),a.ok(e.indexOf(b.fields().optional,"disabled")>-1),b.remove(c)}],function(b){a.ok(!b),a.done()})},"Callback#dispatch error":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",e=new d.Service.SavedSearch(this.loggedOutService,b,{owner:"nobody",app:"search"});e.dispatch(function(b){a.ok(b),a.done()})},"Callback#dispatch omitting optional arguments":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",d=this.service.savedSearches({owner:this.service.username,app:"xml2json"});f.chain([function(a){d.create({search:c,name:b},a)},function(d,e){a.ok(d),a.strictEqual(d.name,b),a.strictEqual(d.properties().search,c),a.ok(!d.properties().description),d.dispatch(e)},function(b,c,d){a.ok(b),a.ok(c),a.done()}])},"Callback#history error":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",e=new d.Service.SavedSearch(this.loggedOutService,b,{owner:"nobody",app:"search",sharing:"system"});e.history(function(b){a.ok(b),a.done()})},"Callback#Update error":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",e=new d.Service.SavedSearch(this.loggedOutService,b,{owner:"nobody",app:"search",sharing:"system"});e.update({},function(b){a.ok(b),a.done()})},"Callback#oneshot requires search string":function(a){a.throws(function(){this.service.oneshotSearch({name:"jssdk_oneshot_"+i()},function(a){})}),a.done()},"Callback#Create + dispatch + history":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",d=this.service.savedSearches({owner:this.service.username,app:"xml2json"});f.chain(function(a){d.create({search:c,name:b},a)},function(d,e){a.ok(d),a.strictEqual(d.name,b),a.strictEqual(d.properties().search,c),a.ok(!d.properties().description),d.dispatch({force_dispatch:!1,"dispatch.buckets":295},e)},function(b,c,d){a.ok(b),a.ok(c),g.pollUntil(b,function(a){return b.properties().isDone},10,f.augment(d,c))},function(b,c,d){a.strictEqual(b.properties().statusBuckets,295),c.history(f.augment(d,b))},function(b,c,d,e){a.ok(b),a.ok(b.length>0),a.ok(c),a.ok(d);var g=function(a){return function(b){a.cancel(b)}},h=!1,i=[];for(var j=0;j0),c()}],function(b){a.ok(!b),a.done()})},"Callback#item":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web"),c()}],function(b){a.ok(!b),a.done()})},"Callback#contains stanza":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web");var d=b.item("settings");a.ok(d),d.fetch(c)},function(b,c){a.ok(b.properties().hasOwnProperty("httpport")),c()}],function(b){a.ok(!b),a.done()})},"Callback#create file + create stanza + update stanza":function(a){var c=this,e="jssdk_file_"+i(),g="barfoo_"+i(),h={owner:"admin",app:"search"};f.chain([function(a){var b=c.service.configurations(h);b.fetch(a)},function(a,b){a.create(e,b)},function(a,b){a.create("stanza",b)},function(a,b){a.update({jssdk_foobar:g},b)},function(b,c){a.strictEqual(b.properties().jssdk_foobar,g),c()},function(a){var c=new d.Service.ConfigurationFile(b,e);c.fetch(a)},function(b,c){var d=b.item("stanza");a.ok(d),d.remove(c)}],function(b){a.ok(!b),a.done()})}},"Configuration Tests":{setUp:function(a){this.service=b,a()},"Callback#list":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.list();a.ok(d.length>0),c()}],function(b){a.ok(!b),a.done()})},"Callback#contains":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web"),c()}],function(b){a.ok(!b),a.done()})},"Callback#contains stanza":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web");var d=b.item("settings");a.ok(d),d.fetch(c)},function(b,c){a.ok(b.properties().hasOwnProperty("httpport")),c()}],function(b){a.ok(!b),a.done()})},"Callback#configurations init":function(a){a.throws(function(){var a=new d.Service.Configurations(this.service,{owner:"-",app:"-",sharing:"system"})}),a.done()},"Callback#create file + create stanza + update stanza":function(a){var c=this,e={owner:"nobody",app:"system"},g="jssdk_file_"+i(),h="barfoo_"+i();f.chain([function(a){var c=b.configurations(e);c.fetch(a)},function(a,b){a.create({__conf:g},b)},function(a,b){a.item("stanza")&&a.item("stanza").remove(),a.create("stanza",b)},function(a,b){a.update({jssdk_foobar:h},b)},function(b,c){a.strictEqual(b.properties().jssdk_foobar,h),c()},function(a){var c=new d.Service.ConfigurationFile(b,g);c.fetch(a)},function(b,c){var d=b.item("stanza");a.ok(d),d.remove(c)}],function(b){a.ok(!b),a.done()})}},"Index Tests":{setUp:function(a){this.service=b,this.loggedOutService=c;var d=this.indexName="sdk-tests",e=this.service.indexes();e.create(d,{},function(b,c){if(b&&b.status!==409)throw new Error("Index creation failed for an unknown reason");a()})},"Callback#remove index fails on Splunk 4.x":function(a){var b=this.service.version;this.service.version="4.0";var c=this.service.indexes().item(this.indexName);a.throws(function(){c.remove(function(a){})}),this.service.version=b,a.done()},"Callback#remove index":function(a){var b=this.service.indexes(),c=Math.floor(Math.random()*65536),d=this.indexName+"-"+c;if(this.service.versionCompare("5.0")<0){console.log("Must be running Splunk 5.0+ for this test to work."),a.done();return}f.chain([function(a){b.create(d,{},a)},function(a,b){a.remove(b)},function(a){var c=50,e=100;f.whilst(function(){return b.item(d)&&c-->0},function(a){f.sleep(e,function(){b.fetch(a)})},function(b){b?a(b):a(c<=0?"Timed out":null)})}],function(b){a.ok(!b),a.done()})},"Callback#list indexes":function(a){var b=this.service.indexes();b.fetch(function(b,c){var d=c.list();a.ok(d.length>0),a.done()})},"Callback#contains index":function(a){var b=this.service.indexes(),c=this.indexName;b.fetch(function(b,d){var e=d.item(c);a.ok(e),a.done()})},"Callback#modify index":function(a){var b=this.indexName,c=this.service.indexes(),d=!1;f.chain([function(a){c.fetch(a)},function(c,e){var f=c.item(b);a.ok(f),d=f.properties().syncMeta,f.update({syncMeta:!d},e)},function(b,c){a.ok(b);var e=b.properties();a.strictEqual(!d,e.syncMeta),b.update({syncMeta:!e.syncMeta},c)},function(b,c){a.ok(b);var e=b.properties();a.strictEqual(d,e.syncMeta),c()}],function(b){a.ok(!b),a.done()})},"Callback#Enable+disable index":function(a){var b=this.indexName,c=this.service.indexes();f.chain([function(a){c.fetch(a)},function(c,d){var e=c.item(b);a.ok(e),e.disable(d)},function(b,c){a.ok(b),b.fetch(c)},function(b,c){a.ok(b),a.ok(b.properties().disabled),b.enable(c)},function(b,c){a.ok(b),b.fetch(c)},function(b,c){a.ok(b),a.ok(!b.properties().disabled),c()}],function(b){a.ok(!b),a.done()})},"Callback#Service submit event":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.service,e=this.indexName;f.chain(function(a){d.log(b,{sourcetype:c,index:e},a)},function(d,f){a.ok(d),a.strictEqual(d.sourcetype,c),a.strictEqual(d.bytes,b.length),a.strictEqual(d.index,e),f()},function(b){a.ok(!b),a.done()})},"Callback#Service submit event, omitting optional arguments":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.service,e=this.indexName;f.chain(function(a){d.log(b,a)},function(c,d){a.ok(c),a.strictEqual(c.bytes,b.length),d()},function(b){a.ok(!b),a.done()})},"Callback#Service submit event, failure":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.loggedOutService,e=this.indexName;f.chain(function(c){a.ok(d),d.log(b,c)},function(b){a.ok(b),a.done()})},"Callback#remove throws an error":function(a){var b=this.service.indexes().item("_internal");a.throws(function(){b.remove()}),a.done()},"Callback#create an index with alternate argument format":function(a){var b=this.service.indexes();b.create({name:"_internal"},function(b,c){a.ok(b.data.messages[0].text.match("Index name=_internal already exists")),a.done()})},"Callback#Index submit event with omitted optional arguments":function(a){var b="Hello world -- "+i(),c=this.indexName,d=this.service.indexes();f.chain([function(a){d.fetch(a)},function(d,e){var f=d.item(c);a.ok(f),a.strictEqual(f.name,c),f.submitEvent(b,e)},function(d,e,f){a.ok(d),a.strictEqual(d.bytes,b.length),a.strictEqual(d.index,c),f()}],function(b){a.ok(!b),a.done()})},"Callback#Index submit event":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.indexName,e=this.service.indexes();f.chain([function(a){e.fetch(a)},function(e,f){var g=e.item(d);a.ok(g),a.strictEqual(g.name,d),g.submitEvent(b,{sourcetype:c},f)},function(e,f,g){a.ok(e),a.strictEqual(e.sourcetype,c),a.strictEqual(e.bytes,b.length),a.strictEqual(e.index,d),g()}],function(b){a.ok(!b),a.done()})}},"User Tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Callback#Current user":function(a){var b=this.service;b.currentUser(function(c,d){a.ok(!c),a.ok(d),a.strictEqual(d.name,b.username),a.done()})},"Callback#Current user fails":function(a){var b=this.loggedOutService;b.currentUser(function(b,c){a.ok(b),a.done()})},"Callback#List users":function(a){var b=this.service;b.users().fetch(function(b,c){var d=c.list();a.ok(!b),a.ok(c),a.ok(d),a.ok(d.length>0),a.done()})},"Callback#create user failure":function(a){this.loggedOutService.users().create({name:"jssdk_testuser",password:"abc",roles:"user"},function(b,c){a.ok(b),a.done()})},"Callback#Create + update + delete user":function(a){var b=this.service,c="jssdk_testuser";f.chain([function(a){b.users().create({name:"jssdk_testuser",password:"abc",roles:"user"},a)},function(b,d){a.ok(b),a.strictEqual(b.name,c),a.strictEqual(b.properties().roles.length,1),a.strictEqual(b.properties().roles[0],"user"),b.update({realname:"JS SDK",roles:["admin","user"]},d)},function(b,c){a.ok(b),a.strictEqual(b.properties().realname,"JS SDK"),a.strictEqual(b.properties().roles.length,2),a.strictEqual(b.properties().roles[0],"admin"),a.strictEqual(b.properties().roles[1],"user"),b.remove(c)}],function(b){a.ok(!b),a.done()})},"Callback#Roles":function(a){var b=this.service,c="jssdk_testuser_"+i();f.chain([function(a){b.users().create({name:c,password:"abc",roles:"user"},a)},function(b,d){a.ok(b),a.strictEqual(b.name,c),a.strictEqual(b.properties().roles.length,1),a.strictEqual(b.properties().roles[0],"user"),b.update({roles:["admin","user"]},d)},function(b,c){a.ok(b),a.strictEqual(b.properties().roles.length,2),a.strictEqual(b.properties().roles[0],"admin"),a.strictEqual(b.properties().roles[1],"user"),b.update({roles:"user"},c)},function(b,c){a.ok(b),a.strictEqual(b.properties().roles.length,1),a.strictEqual(b.properties().roles[0],"user"),b.update({roles:"__unknown__"},c)}],function(b){a.ok(b),a.strictEqual(b.status,400),a.done()})},"Callback#Passwords":function(a){var b=this.service,c=null,e="jssdk_testuser_"+i();f.chain([function(a){b.users().create({name:e,password:"abc",roles:"user"},a)},function(g,h){a.ok(g),a.strictEqual(g.name,e),a.strictEqual(g.properties().roles.length,1),a.strictEqual(g.properties().roles[0],"user"),c=new d.Service(b.http,{username:e,password:"abc",host:b.host,port:b.port,scheme:b.scheme,version:b.version}),c.login(f.augment(h,g))},function(b,c,d){a.ok(b),a.ok(c),c.update({password:"abc2"},d)},function(b,d){c.login(function(c,e){a.ok(c),a.ok(!e),b.update({password:"abc"},d)})},function(b,d){a.ok(b),c.login(d)}],function(b){a.ok(!b),a.done()})},"Callback#delete test users":function(a){var b=this.service.users();b.fetch(function(b,c){var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})}},"Server Info Tests":{setUp:function(a){this.service=b,a()},"Callback#Basic":function(a){var b=this.service;b.serverInfo(function(b,c){a.ok(!b),a.ok(c),a.strictEqual(c.name,"server-info"),a.ok(c.properties().hasOwnProperty("version")),a.ok(c.properties().hasOwnProperty("serverName")),a.ok(c.properties().hasOwnProperty("os_version")),a.done()})}},"View Tests":{setUp:function(a){this.service=b,a()},"Callback#List views":function(a){var b=this.service;b.views({owner:"admin",app:"search"}).fetch(function(b,c){a.ok(!b),a.ok(c);var d=c.list();a.ok(d),a.ok(d.length>0);for(var e=0;e",e="";f.chain([function(a){b.views({owner:"admin",app:"xml2json"}).create({name:c,"eai:data":d},a)},function(b,f){a.ok(b),a.strictEqual(b.name,c),a.strictEqual(b.properties()["eai:data"],d),b.update({"eai:data":e},f)},function(b,c){a.ok(b),a.strictEqual(b.properties()["eai:data"],e),b.remove(c)}],function(b){a.ok(!b),a.done()})}},"Parser Tests":{setUp:function(a){this.service=b,a()},"Callback#Basic parse":function(a){var b=this.service;b.parse("search index=_internal | head 1",function(b,c){a.ok(!b),a.ok(c),a.ok(c.commands.length>0),a.done()})},"Callback#Parse error":function(a){var b=this.service;b.parse("ABCXYZ",function(b,c){a.ok(b),a.strictEqual(b.status,400),a.done()})}},"Typeahead Tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Callback#Typeahead failure":function(a){var b=this.loggedOutService;b.typeahead("index=",1,function(b,c){a.ok(b),a.done()})},"Callback#Basic typeahead":function(a){var b=this.service;b.typeahead("index=",1,function(b,c){a.ok(!b),a.ok(c),a.strictEqual(c.length,1),a.ok(c[0]),a.done()})},"Typeahead with omitted optional arguments":function(a){var b=this.service;b.typeahead("index=",function(b,c){a.ok(!b),a.ok(c),a.done()})}},"Endpoint Tests":{setUp:function(a){this.service=b,a()},"Throws on null arguments to init":function(a){var b=this.service;a.throws(function(){var a=new d.Service.Endpoint(null,"a/b")}),a.throws(function(){var a=new d.Service.Endpoint(b,null)}),a.done()},"Endpoint delete on a relative path":function(a){var b=this.service,c=new d.Service.Endpoint(b,"/search/jobs/12345");c.del("search/jobs/12345",{},function(){a.done()})},"Methods of Resource to be overridden":function(a){var b=this.service,c=new d.Service.Resource(b,"/search/jobs/12345");a.throws(function(){c.path()}),a.throws(function(){c.fetch()}),a.ok(d.Utils.isEmpty(c.state())),a.done()}},"Entity tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Accessors function properly":function(a){var b=new d.Service.Entity(this.service,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b._load({acl:{owner:"boris",app:"factory",sharing:"app"},links:{link1:35},published:"meep",author:"Hilda"}),a.ok(b.acl().owner==="boris"),a.ok(b.acl().app==="factory"),a.ok(b.acl().sharing==="app"),a.ok(b.links().link1===35),a.strictEqual(b.author(),"Hilda"),a.strictEqual(b.published(),"meep"),a.done()},"Refresh throws error correctly":function(a){var b=new d.Service.Entity(this.loggedOutService,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b.fetch({},function(b){a.ok(b),a.done()})},"Cannot update name of entity":function(a){var b=new d.Service.Entity(this.service,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});a.throws(function(){b.update({name:"asdf"})}),a.done()},"Disable throws error correctly":function(a){var b=new d.Service.Entity(this.loggedOutService,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b.disable(function(b){a.ok(b),a.done()})},"Enable throws error correctly":function(a){var b=new d.Service.Entity(this.loggedOutService,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b.enable(function(b){a.ok(b),a.done()})},"Does reload work?":function(a){var b=new d.Service.Index(this.service,"data/indexes/sdk-test",{owner:"admin",app:"search",sharing:"app"}),c="jssdk_testapp_"+i(),e=this.service.apps(),g=this;f.chain(function(a){e.create({name:c},a)},function(b,c){b.reload(function(d){a.ok(!d),c(null,b)})},function(b,c){var e=new d.Service.Application(g.loggedOutService,b.name);e.reload(function(d){a.ok(d),c(null,b)})},function(a,b){a.remove(b)},function(b){a.ok(!b),a.done()})}},Collections:{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Methods to be overridden throw":function(a){var b=new d.Service.Collection(this.service,"/data/indexes",{owner:"admin",app:"search",sharing:"app"});a.throws(function(){b.instantiateEntity({})}),a.done()},"Accessors work":function(a){var b=new d.Service.Collection(this.service,"/data/indexes",{owner:"admin",app:"search",sharing:"app"});b._load({links:"Hilda",updated:!0}),a.strictEqual(b.links(),"Hilda"),a.ok(b.updated()),a.done()},"Contains throws without a good id":function(a){var b=new d.Service.Collection(this.service,"/data/indexes",{owner:"admin",app:"search",sharing:"app"});a.throws(function(){b.item(null)}),a.done()}}};return j};if(b===a.main){var f=a("../index"),g=a("../examples/node/cmdline"),h=a("../contrib/nodeunit/test_reporter"),i=g.create(),j=i.parse(process.argv);if(!j)throw new Error("Error in parsing command line parameters");var k=new f.Service({scheme:j.opts.scheme,host:j.opts.host,port:j.opts.port,username:j.opts.username,password:j.opts.password,version:j.opts.version}),l=new f.Service({scheme:j.opts.scheme,host:j.opts.host,port:j.opts.port,username:j.opts.username,password:j.opts.password+"wrong",version:j.opts.version}),m=c.setup(k,l);k.login(function(a,b){if(a||!b)throw new Error("Login failed - not running tests",a||"");h.run([{Tests:m}])})}}),require.define("/tests/test_examples.js",function(a,b,c,d,e){c.setup=function(b,c){var d=a("../index"),e=d.Async;d.Logger.setLevel("ALL");var f=0,g=function(){return"id"+f++ +"_"+(new Date).valueOf()},h=["program","script"];return{"Hello World Tests":{Apps:function(b){var d=a("../examples/node/helloworld/apps").main;d(c,b.done)},"Apps#Async":function(b){var d=a("../examples/node/helloworld/apps_async").main;d(c,b.done)},"Fired Alerts":function(b){var d=a("../examples/node/helloworld/firedalerts").main;d(c,b.done)},"Fired Alerts#Async":function(b){var d=a("../examples/node/helloworld/firedalerts_async").main;d(c,b.done)},"Fired Alerts#Create":function(b){var d=a("../examples/node/helloworld/firedalerts_create").main;d(c,b.done)},"Fired Alerts#Delete":function(b){var d=a("../examples/node/helloworld/firedalerts_delete").main;d(c,b.done)},"Saved Searches":function(b){var d=a("../examples/node/helloworld/savedsearches").main;d(c,b.done)},"Saved Searches#Async":function(b){var d=a("../examples/node/helloworld/savedsearches_async").main;d(c,b.done)},"Saved Searches#Delete":function(b){var d=a("../examples/node/helloworld/savedsearches_delete").main;d(c,b.done)},"Saved Searches#Create":function(b){var d=a("../examples/node/helloworld/savedsearches_create").main;d(c,b.done)},"Saved Searches#Delete Again":function(b){var d=a("../examples/node/helloworld/savedsearches_delete").main;d(c,b.done)},"Search#normal":function(b){var d=a("../examples/node/helloworld/search_normal").main;d(c,b.done)},"Search#blocking":function(b){var d=a("../examples/node/helloworld/search_blocking").main;d(c,b.done)},"Search#oneshot":function(b){var d=a("../examples/node/helloworld/search_oneshot").main;d(c,b.done)},"Search#realtime":function(b){var d=a("../examples/node/helloworld/search_realtime").main;d(c,b.done)},Logging:function(b){var d=a("../examples/node/helloworld/log").main;d(c,b.done)}},"Jobs Example Tests":{setUp:function(b){var c=this;this.main=a("../examples/node/jobs").main,this.run=function(a,b,d,e){var f=h.slice();a&&f.push(a);if(b)for(var g=0;gd},function(b){g.sleep(1e3,function(){a.preview({},function(a,c){if(a){b(a);return}if(c&&c.rows){d++,console.log("========== Iteration "+d+" ==========");var e=c.fields.indexOf("sourcetype"),f=c.fields.indexOf("count");for(var g=0;g",k,[],e),c.add("preview","Fetch preview results for the specified search jobs","",k,[],e),c.add("events","Fetch events for the specified search jobs","",j,[],e),c.add("cancel","Cancel the specify search jobs","",[],[],e),c.add("list","List all search jobs or properties for those specified","[sids...]",[],[],e),c.parse(a);if(!c.executedCommand){console.log(c.helpInformation()),b("You must specify a command to run.");return}},b===a.main&&c.main(process.argv)})()}),require.define("/examples/node/search.js",function(a,b,c,d,e){(function(){var d=a("../../index"),e=d.Class,f=d.Utils,g=d.Async,h=a("./cmdline"),i=a("util").print,j=["search","earliest_time","latest_time","now","time_format","exec_mode","search_mode","rt_blocking","rt_queue_size","rt_maxblocksecs","rt_indexfilter","id","status_buckets","max_count","max_time","timeout","auto_finalize_ec","enable_lookups","reload_macros","reduce_freq","spawn_process","required_field_list","rf","auto_cancel","auto_pause"],k=function(a){return new d.Service({scheme:a.scheme,host:a.host,port:a.port,username:a.username,password:a.password,version:a.version})},l=function(a,b,c){var d=b.search,e=b.verbose,f=b.count||0,h=b.mode||"row";delete b.search,delete b.verbose,delete b.count,delete b.mode,g.chain([function(c){a.search(d,b,c)},function(a,b){g.whilst(function(){return!a.properties().isDone},function(b){a.fetch(function(a,d){if(a)c(a);else{var f=d.properties();if(e){var h=f.doneProgress*100+"%",j=f.scanCount,k=f.eventCount,l=f.resultCount,m="-- "+h+" done | "+j+" scanned | "+k+" matched | "+l+" results";i("\r"+m+" ")}g.sleep(1e3,b)}})},function(c){e&&i("\r"),b(c,a)})},function(a,b){a.results({count:f,json_mode:h},b)},function(a,b,c){process.stdout.write(JSON.stringify(a)),b.cancel(c)}],function(a){c(a)})},m=function(a,b,c){var d=b.search;delete b.search,a.oneshotSearch(d,b,function(a,b){a?c(a):(console.log(JSON.stringify(b)),c())})};c.main=function(a,b){d.Logger.setLevel("NONE"),b=b||function(a){a&&console.log(a)};var c=h.create();c.name="search",c.description("Create a search and print the results to stdout"),c.option("--verbose","Output job progress as we wait for completion"),c.option("--count ","How many results to fetch"),c.option("--mode ","Row or column mode [row|column]");var e=j,f=["search"];for(var g=0;g=0,n="<"+e[g]+">";c.option("--"+e[g]+" "+n,"",undefined,i)}c.on("--help",function(){console.log(" Examples:"),console.log(" "),console.log(" Create a regular search:"),console.log(" > node search.js --search 'search index=_internal | head 10'"),console.log(" "),console.log(" Create a oneshot search:"),console.log(" > node search.js --search 'search index=_internal | head 10' --exec_mode oneshot"),console.log(" "),console.log(" Create a regular search and only return 10 results:"),console.log(" > node search.js --search 'search index=_internal | head 20' --count 10"),console.log(" "),console.log(" Create a regular search and output the progress while the search is running"),console.log(" > node search.js --search 'search index=_internal | head 20' --verbose"),console.log(" ")}),c.parse(a);var o=k(c.opts);o.login(function(a,d){if(a||!d){b("Error logging in");return}delete c.username,delete c.password,delete c.scheme,delete c.host,delete c.port,delete c.namespace,delete c.version,c.opts.exec_mode==="oneshot"?m(o,c.opts,b):l(o,c.opts,b)})},b===a.main&&c.main(process.argv)})()}),require.define("util",function(a,b,c,d,e){function g(a){return a instanceof Array||Array.isArray(a)||a&&a!==Object.prototype&&g(a.__proto__)}function h(a){return a instanceof RegExp||typeof a=="object"&&Object.prototype.toString.call(a)==="[object RegExp]"}function i(a){if(a instanceof Date)return!0;if(typeof a!="object")return!1;var b=Date.prototype&&n(Date.prototype),c=a.__proto__&&n(a.__proto__);return JSON.stringify(c)===JSON.stringify(b)}function j(a){return a<10?"0"+a.toString(10):a.toString(10)}function l(){var a=new Date,b=[j(a.getHours()),j(a.getMinutes()),j(a.getSeconds())].join(":");return[a.getDate(),k[a.getMonth()],b].join(" ")}var f=a("events");c.print=function(){},c.puts=function(){},c.debug=function(){},c.inspect=function(a,b,d,e){function k(a,d){if(a&&typeof a.inspect=="function"&&a!==c&&(!a.constructor||a.constructor.prototype!==a))return a.inspect(d);switch(typeof a){case"undefined":return j("undefined","undefined");case"string":var e="'"+JSON.stringify(a).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return j(e,"string");case"number":return j(""+a,"number");case"boolean":return j(""+a,"boolean")}if(a===null)return j("null","null");var l=m(a),o=b?n(a):l;if(typeof a=="function"&&o.length===0){if(h(a))return j(""+a,"regexp");var p=a.name?": "+a.name:"";return j("[Function"+p+"]","special")}if(i(a)&&o.length===0)return j(a.toUTCString(),"date");var q,r,s;g(a)?(r="Array",s=["[","]"]):(r="Object",s=["{","}"]);if(typeof a=="function"){var t=a.name?": "+a.name:"";q=h(a)?" "+a:" [Function"+t+"]"}else q="";i(a)&&(q=" "+a.toUTCString());if(o.length===0)return s[0]+q+s[1];if(d<0)return h(a)?j(""+a,"regexp"):j("[Object]","special");f.push(a);var u=o.map(function(b){var c,e;a.__lookupGetter__&&(a.__lookupGetter__(b)?a.__lookupSetter__(b)?e=j("[Getter/Setter]","special"):e=j("[Getter]","special"):a.__lookupSetter__(b)&&(e=j("[Setter]","special"))),l.indexOf(b)<0&&(c="["+b+"]"),e||(f.indexOf(a[b])<0?(d===null?e=k(a[b]):e=k(a[b],d-1),e.indexOf("\n")>-1&&(g(a)?e=e.split("\n").map(function(a){return" "+a}).join("\n").substr(2):e="\n"+e.split("\n").map(function(a){return" "+a}).join("\n"))):e=j("[Circular]","special"));if(typeof c=="undefined"){if(r==="Array"&&b.match(/^\d+$/))return e;c=JSON.stringify(""+b),c.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(c=c.substr(1,c.length-2),c=j(c,"name")):(c=c.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),c=j(c,"string"))}return c+": "+e});f.pop();var v=0,w=u.reduce(function(a,b){return v++,b.indexOf("\n")>=0&&v++,a+b.length+1},0);return w>50?u=s[0]+(q===""?"":q+"\n ")+" "+u.join(",\n ")+" "+s[1]:u=s[0]+q+" "+u.join(", ")+" "+s[1],u}var f=[],j=function(a,b){var c={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},d={special:"cyan",number:"blue","boolean":"yellow","undefined":"grey","null":"bold",string:"green",date:"magenta",regexp:"red"}[b];return d?"["+c[d][0]+"m"+a+"["+c[d][1]+"m":a};return e||(j=function(a,b){return a}),k(a,typeof d=="undefined"?2:d)};var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];c.log=function(a){},c.pump=null;var m=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b},n=Object.getOwnPropertyNames||function(a){var b=[];for(var c in a)Object.hasOwnProperty.call(a,c)&&b.push(c);return b},o=Object.create||function(a,b){var c;if(a===null)c={__proto__:null};else{if(typeof a!="object")throw new TypeError("typeof prototype["+typeof a+"] != 'object'");var d=function(){};d.prototype=a,c=new d,c.__proto__=a}return typeof b!="undefined"&&Object.defineProperties&&Object.defineProperties(c,b),c};c.inherits=function(a,b){a.super_=b,a.prototype=o(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}}),require.define("events",function(a,b,c,d,e){process.EventEmitter||(process.EventEmitter=function(){});var f=c.EventEmitter=process.EventEmitter,g=typeof Array.isArray=="function"?Array.isArray:function(a){return Object.toString.call(a)==="[object Array]"},h=10;f.prototype.setMaxListeners=function(a){this._events||(this._events={}),this._events.maxListeners=a},f.prototype.emit=function(a){if(a==="error")if(!this._events||!this._events.error||g(this._events.error)&&!this._events.error.length)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");if(!this._events)return!1;var b=this._events[a];if(!b)return!1;if(typeof b=="function"){switch(arguments.length){case 1:b.call(this);break;case 2:b.call(this,arguments[1]);break;case 3:b.call(this,arguments[1],arguments[2]);break;default:var c=Array.prototype.slice.call(arguments,1);b.apply(this,c)}return!0}if(g(b)){var c=Array.prototype.slice.call(arguments,1),d=b.slice();for(var e=0,f=d.length;e0&&this._events[a].length>c&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),console.trace())}this._events[a].push(b)}else this._events[a]=[this._events[a],b];return this},f.prototype.on=f.prototype.addListener,f.prototype.once=function(a,b){var c=this;return c.on(a,function d(){c.removeListener(a,d),b.apply(this,arguments)}),this},f.prototype.removeListener=function(a,b){if("function"!=typeof b)throw new Error("removeListener only takes instances of Function");if(!this._events||!this._events[a])return this;var c=this._events[a];if(g(c)){var d=c.indexOf(b);if(d<0)return this;c.splice(d,1),c.length==0&&delete this._events[a]}else this._events[a]===b&&delete this._events[a];return this},f.prototype.removeAllListeners=function(a){return a&&this._events&&this._events[a]&&(this._events[a]=null),this},f.prototype.listeners=function(a){return this._events||(this._events={}),this._events[a]||(this._events[a]=[]),g(this._events[a])||(this._events[a]=[this._events[a]]),this._events[a]}}),require.define("/examples/node/results.js",function(a,b,c,d,e){(function(){var d=a("../../index"),e=d.Class,f=d.Utils,g=d.Async,h=a("./cmdline"),i=function(a){for(var b=0;b=0;e--){if(b[e]==="node_modules")continue;var f=b.slice(0,e+1).join("/")+"/node_modules";d.push(f)}return d}b||(b="/");if(require._core[a])return a;var c=require.modules.path();b=c.resolve("/",b);var d=b||"/";if(a.match(/^(?:\.\.?\/|\/)/)){var e=g(c.resolve(d,a))||h(c.resolve(d,a));if(e)return e}var f=i(a,d);if(f)return f;throw new Error("Cannot find module '"+a+"'")}}(),require.alias=function(a,b){var c=require.modules.path(),d=null;try{d=require.resolve(a+"/package.json","/")}catch(e){d=require.resolve(a,"/")}var f=c.dirname(d),g=(Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b})(require.modules);for(var h=0;h0){var c=a.shift();c()}}},!0),function(c){b?(a.push(c),window.postMessage("browserify-tick","*")):setTimeout(c,0)}}()),process.title||(process.title="browser"),process.binding||(process.binding=function(a){if(a==="evals")return require("vm");throw new Error("No such module")}),process.cwd||(process.cwd=function(){return"."}),require.define("path",function(a,b,c,d,e){function f(a,b){var c=[];for(var d=0;d=0;d--){var e=a[d];e=="."?a.splice(d,1):e===".."?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}var h=/^(.+\/(?!$)|\/)?((?:.+?)?(\.[^.]*)?)$/;c.resolve=function(){var a="",b=!1;for(var c=arguments.length;c>=-1&&!b;c--){var d=c>=0?arguments[c]:process.cwd();if(typeof d!="string"||!d)continue;a=d+"/"+a,b=d.charAt(0)==="/"}return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),(b?"/":"")+a||"."},c.normalize=function(a){var b=a.charAt(0)==="/",c=a.slice(-1)==="/";return a=g(f(a.split("/"),function(a){return!!a}),!b).join("/"),!a&&!b&&(a="."),a&&c&&(a+="/"),(b?"/":"")+a},c.join=function(){var a=Array.prototype.slice.call(arguments,0);return c.normalize(f(a,function(a,b){return a&&typeof a=="string"}).join("/"))},c.dirname=function(a){var b=h.exec(a)[1]||"",c=!1;return b?b.length===1||c&&b.length<=3&&b.charAt(1)===":"?b:b.substring(0,b.length-1):"."},c.basename=function(a,b){var c=h.exec(a)[2]||"";return b&&c.substr(-1*b.length)===b&&(c=c.substr(0,c.length-b.length)),c},c.extname=function(a){return h.exec(a)[3]||""}}),require.define("/tests/test_utils.js",function(a,b,c,d,e){c.setup=function(){var b=a("../index");return b.Logger.setLevel("ALL"),{"Callback#callback to object success":function(a){var b=function(a){a(null,"one","two")};b(function(b,c,d){a.strictEqual(c,"one"),a.strictEqual(d,"two"),a.done()})},"Callback#callback to object error - single argument":function(a){var b=function(a){a("one")};b(function(b,c,d){a.strictEqual(b,"one"),a.ok(!c),a.ok(!d),a.done()})},"Callback#callback to object error - multi argument":function(a){var b=function(a){a(["one","two"])};b(function(b,c,d){a.strictEqual(b[0],"one"),a.strictEqual(b[1],"two"),a.ok(!c),a.ok(!d),a.done()})},"keyOf works":function(a){a.ok(b.Utils.keyOf(3,{a:3,b:5})),a.ok(!b.Utils.keyOf(3,{a:12,b:6})),a.done()},bind:function(a){var c;(function(){c=function(a){this.a=a}})();var d={},e=b.Utils.bind(d,c);e(12),a.strictEqual(d.a,12),a.done()},trim:function(a){a.strictEqual(b.Utils.trim(" test of something \n\r \t"),"test of something");var c=String.prototype.trim;String.prototype.trim=null,a.strictEqual(b.Utils.trim(" test of something \n\r \t"),"test of something"),String.prototype.trim=c,a.done()},indexOf:function(a){a.strictEqual(b.Utils.indexOf([1,2,3,4,5],3),2),a.strictEqual(b.Utils.indexOf([1,2,3,4,3],3),2),a.strictEqual(b.Utils.indexOf([1,2,3,4,5],12),-1),a.done()},contains:function(a){a.ok(b.Utils.contains([1,2,3,4,5],3)),a.ok(b.Utils.contains([1,2,3,4,3],3)),a.ok(!b.Utils.contains([1,2,3,4,5],12)),a.done()},startsWith:function(a){a.ok(b.Utils.startsWith("abcdefg","abc")),a.ok(!b.Utils.startsWith("bcdefg","abc")),a.done()},endsWith:function(a){a.ok(b.Utils.endsWith("abcdef","def")),a.ok(!b.Utils.endsWith("abcdef","bcd")),a.done()},toArray:function(a){(function(){var c=b.Utils.toArray(arguments),d=[1,2,3,4,5];for(var e=0;e=e.ALL&&g.apply(null,arguments)},error:function(){process.env.LOG_LEVEL>=e.ERROR&&i.apply(null,arguments)},warn:function(){process.env.LOG_LEVEL>=e.WARN&&h.apply(null,arguments)},info:function(){process.env.LOG_LEVEL>=e.INFO&&j.apply(null,arguments)},printMessages:function(a){a=a||[];for(var b=0;b=0},a.startsWith=function(a,b){var c=a.match("^"+b);return c&&c.length>0&&c[0]===b},a.endsWith=function(a,b){var c=a.match(b+"$");return c&&c.length>0&&c[0]===b};var b=Object.prototype.toString;a.toArray=function(a){return Array.prototype.slice.call(a)},a.isArray=Array.isArray||function(a){return b.call(a)==="[object Array]"},a.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)},a.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)},a.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)},a.isObject=function(a){return a===Object(a)},a.isEmpty=function(b){if(a.isArray(b)||a.isString(b))return b.length===0;for(var c in b)if(this.hasOwnProperty.call(b,c))return!1;return!0},a.forEach=function(a,b,c){if(a===null)return;if(Array.prototype.forEach&&a.forEach===Array.prototype.forEach)a.forEach(b,c);else if(a.length===+a.length){for(var d=0,e=a.length;dh)return 1}return 0}}),h.Sharing={USER:"user",APP:"app",GLOBAL:"global",SYSTEM:"system"}})()}),require.define("/lib/paths.js",function(a,b,c,d,e){(function(){"use strict";var a=c||this;a.Paths={apps:"/services/apps/local",capabilities:"authorization/capabilities",configurations:"configs",deploymentClient:"deployment/client",deploymentServers:"deployment/server",deploymentServerClasses:"deployment/serverclass",deploymentTenants:"deployment/tenants",eventTypes:"saved/eventtypes",firedAlerts:"alerts/fired_alerts",indexes:"data/indexes",info:"/services/server/info",inputs:null,jobs:"search/jobs",licenseGroups:"licenser/groups",licenseMessages:"licenser/messages",licensePools:"licenser/pools",licenseSlaves:"licenser/slaves",licenseStacks:"licenser/stacks",licenses:"licenser/licenses",loggers:"server/logger",login:"/services/auth/login",messages:"messages",passwords:"admin/passwords",parser:"search/parser",properties:"properties",roles:"authorization/roles",savedSearches:"saved/searches",settings:"server/settings",users:"/services/authentication/users",typeahead:"search/typeahead",views:"data/ui/views",currentUser:"/services/authentication/current-context",submitEvent:"/services/receivers/simple"}})()}),require.define("/lib/jquery.class.js",function(a,b,c,d,e){(function(){var a=c||this,b=!1,d=/xyz/.test(function(){return xyz})?/\b_super\b/:/.*/;a.Class=function(){},a.Class.extend=function(a){function g(){!b&&this.init&&this.init.apply(this,arguments)}var c=this.prototype;b=!0;var e=new this;b=!1;for(var f in a)e[f]=typeof a[f]=="function"&&typeof c[f]=="function"&&d.test(a[f])?function(a,b){return function(){var d=this._super;this._super=c[a];var e=b.apply(this,arguments);return this._super=d,e}}(f,a[f]):a[f];return g.prototype=e,g.constructor=g,g.extend=arguments.callee,g}})()}),require.define("/lib/http.js",function(a,b,c,d,e){(function(){"use strict";var d=a("./jquery.class").Class,e=a("./log").Logger,f=a("./utils"),g=c||this,h=null,i={5:function(a){var b=a.query||{},c=a.post||{},d=b.output_mode||c.output_mode||"json";return f.startsWith(d,"json")||(d="json"),b.output_mode=d,b},4:function(a){return a.query||{}},"default":function(a){return i[5](a)},none:function(a){return a.query||{}}};b.exports=g=h=d.extend({init:function(){this.get=f.bind(this,this.get),this.del=f.bind(this,this.del),this.post=f.bind(this,this.post),this.request=f.bind(this,this.request),this._buildResponse=f.bind(this,this._buildResponse),this._setSplunkVersion("none")},_setSplunkVersion:function(a){this.version=a},get:function(a,b,c,d,e){var f={method:"GET",headers:b,timeout:d,query:c};return this.request(a,f,e)},post:function(a,b,c,d,e){b["Content-Type"]="application/x-www-form-urlencoded";var f={method:"POST",headers:b,timeout:d,post:c};return this.request(a,f,e)},del:function(a,b,c,d,e){var f={method:"DELETE",headers:b,timeout:d,query:c};return this.request(a,f,e)},request:function(a,b,c){var d=function(a){c=c||function(){},a.status<400&&a.status!=="abort"?c(null,a):c(a)},e=f.getWithVersion(this.version,i)(b),g=b.post||{},j=a+"?"+h.encode(e),k=b.body?b.body:h.encode(g),l={method:b.method,headers:b.headers,timeout:b.timeout,body:k};return this.makeRequest(j,l,d)},makeRequest:function(a,b,c){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},parseJson:function(a){throw new Error("UNDEFINED FUNCTION - OVERRIDE REQUIRED")},_buildResponse:function(a,b,c){var d,g={},h=null;b&&b.headers&&(h=f.trim(b.headers["content-type"]||b.headers["Content-Type"]));if(f.startsWith(h,"application/json")&&c)try{g=this.parseJson(c)||{}}catch(i){e.error("Error in parsing JSON:",c,i),g=c}else g=c;return g&&e.printMessages(g.messages),d={response:b,status:b?b.statusCode:0,data:g,error:a},d}}),h.encode=function(a){var b="";for(var c in a)if(a.hasOwnProperty(c)){b&&b[b.length-1]!=="&"&&(b+="&");var d=a[c];if(d instanceof Array)for(var e=0;e1&&!b)throw new Error("Ambiguous match for name '"+a+"'");for(var e=0;e0)}})}})})()}),require.define("/lib/async.js",function(a,b,c,d,e){(function(){"use strict";var b=a("./utils"),d=c||this;d.whilst=function(a,b,c){a=a||function(){return!1},b=b||function(a){a()},c=c||function(){};var e=function(e){e?c(e):d.whilst(a,b,c)};a()?b(e):c(null)},d.parallel=function(a,c){if(arguments.length>1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){},a.length===0&&c();var e=a.length,f=[],g=function(a){return function(d){if(d)c&&c(d),c=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),f[a]=g,--e===0&&(f.unshift(null),c&&c.apply(null,f))}}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};var e=function(a,c,d,f){if(!a){d.unshift(null),f.apply(null,d);return}a(function(a){if(a)f&&f(a),f=null;else{var g=b.toArray(arguments);g.shift(),g.length===1&&(g=g[0]),d.push(g),e(c[0],c.slice(1),d,f)}})};e(a[0],a.slice(1),[],c)},d.parallelMap=function(a,c,e){a=a||[],e=e||function(){};var f=[],g=function(a,b){return function(d){c(a,b,d)}};for(var h=0;h1&&b.isFunction(arguments[0])){var d=b.toArray(arguments);a=d.slice(0,d.length-1),c=d[d.length-1]}a=a||[],c=c||function(){};if(!a.length)c();else{var e=function(a,d,f){var g=function(a){if(a)c(a),c=function(){};else{var f=b.toArray(arguments);f.shift(),e(d[0],d.slice(1),f)}},h=f;d.length?h.push(g):h.push(c),a.apply(null,h)};e(a[0],a.slice(1),[])}},d.sleep=function(a,b){setTimeout(function(){b()},a)},d.augment=function(a){var b=Array.prototype.slice.call(arguments,1);return function(){var c=Array.prototype.slice.call(arguments);for(var d=0;d","Username to login with",undefined,!0).option("--password ","Username to login with",undefined,!1).option("--scheme ","Scheme to use","https",!1).option("--host ","Hostname to use","localhost",!1).option("--port ","Port to use",8089,!1).option("--version ","Which version to use","4",!1),a.parse=function(c){c=(c||[]).slice(2);var d=j();for(var e in d)if(d.hasOwnProperty(e)&&c.indexOf("--"+e)<0){var f=d[e];c.unshift(f),c.unshift("--"+e.trim())}c.unshift(""),c.unshift("");var g=b.call(a,c);return g},a.add=function(b,c,d,e,f,h){var i={};e=e||[];var j=a.command(b+(d?" "+d:"")).description(c||"");for(var k=0;k=0,m="<"+e[k]+">";j.option("--"+e[k]+" "+m,"",undefined,l)}j.action(function(){var a=g.toArray(arguments);a.unshift(b),h.apply(null,a)})},a}})()}),require.define("fs",function(a,b,c,d,e){}),require.define("/tests/test_service.js",function(a,b,c,d,e){c.setup=function(b,c){var d=a("../index"),e=d.Utils,f=d.Async,g=a("./utils");d.Logger.setLevel("ALL");var h=0,i=function(){return"id"+h++ +"_"+(new Date).valueOf()},j={"Namespace Tests":{setUp:function(a){this.service=b;var c=this,d="jssdk_testapp_"+i(),e="jssdk_testapp_"+i(),g="jssdk_testuser_"+i(),h="jssdk_testuser_"+i(),j=this.service.apps(),k=this.service.users();this.namespace11={owner:g,app:d},this.namespace12={owner:g,app:e},this.namespace21={owner:h,app:d},this.namespace22={owner:h,app:e},f.chain([function(a){j.create({name:d},a)},function(a,b){c.app1=a,c.appName1=d,j.create({name:e},b)},function(a,b){c.app2=a,c.appName2=e,k.create({name:g,password:"abc",roles:["user"]},b)},function(a,b){c.user1=a,c.userName1=g,k.create({name:h,password:"abc",roles:["user"]},b)},function(a,b){c.user2=a,c.userName2=h,b()}],function(b){a()})},"Callback#Namespace protection":function(a){var b="jssdk_search_"+i(),c="search *",d=this.service,e=d.savedSearches(this.namespace11),g=d.savedSearches(this.namespace21),h=this;f.chain([function(a){e.create({name:b,search:c},a)},function(a,b){e.fetch(b)},function(a,b){g.fetch(b)},function(d,f){var h=e.item(b),i=g.item(b);a.ok(h),a.strictEqual(h.name,b),a.strictEqual(h.properties().search,c),a.ok(!i),f()}],function(b){a.ok(!b),a.done()})},"Callback#Namespace item":function(a){var b="jssdk_search_"+i(),c="search *",d=this.service,e={owner:"-",app:this.appName1},g={owner:"nobody",app:this.appName1},h=d.savedSearches(this.namespace11),j=d.savedSearches(this.namespace21),k=d.savedSearches(e),l=d.savedSearches(g),m=this;f.chain([function(a){h.create({name:b,search:c},a)},function(a,d){j.create({name:b,search:c},d)},function(a,b){k.fetch(b)},function(a,b){h.fetch(b)},function(a,b){j.fetch(b)},function(d,e){var f=h.item(b,m.namespace11),g=j.item(b,m.namespace21);a.ok(f),a.strictEqual(f.name,b),a.strictEqual(f.properties().search,c),a.strictEqual(f.namespace.owner,m.namespace11.owner),a.strictEqual(f.namespace.app,m.namespace11.app),a.ok(g),a.strictEqual(g.name,b),a.strictEqual(g.properties().search,c),a.strictEqual(g.namespace.owner,m.namespace21.owner),a.strictEqual(g.namespace.app,m.namespace21.app),e()},function(a){l.create({name:b,search:c},a)},function(a,b){h.fetch(b)},function(a,b){j.fetch(b)},function(d,e){var f=!1;try{var g=k.item(b)}catch(h){f=!0}a.ok(f);var i=k.item(b,m.namespace11),j=k.item(b,m.namespace21);a.ok(i),a.strictEqual(i.name,b),a.strictEqual(i.properties().search,c),a.strictEqual(i.namespace.owner,m.namespace11.owner),a.strictEqual(i.namespace.app,m.namespace11.app),a.ok(j),a.strictEqual(j.name,b),a.strictEqual(j.properties().search,c),a.strictEqual(j.namespace.owner,m.namespace21.owner),a.strictEqual(j.namespace.app,m.namespace21.app),e()}],function(b){a.ok(!b),a.done()})},"Callback#delete test applications":function(a){var b=this.service.apps();b.fetch(function(b,c){a.ok(!b),a.ok(c);var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})},"Callback#delete test users":function(a){var b=this.service.users();b.fetch(function(b,c){var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})}},"Job Tests":{setUp:function(a){this.service=b,a()},"Callback#Create+abort job":function(a){var b=i(),c={id:b},e=this.service.jobs({app:"xml2json"}),f=e.oneshotSearch("search index=_internal | head 1 | sleep 10",c,function(b,c){a.ok(b),a.ok(!c),a.strictEqual(b.error,"abort"),a.done()});d.Async.sleep(1e3,function(){f.abort()})},"Callback#Create+cancel job":function(a){var b=i();this.service.jobs().search("search index=_internal | head 1",{id:b},function(c,d){a.ok(d),a.strictEqual(d.sid,b),d.cancel(function(){a.done()})})},"Callback#Create job error":function(a){var b=i();this.service.jobs().search({search:"index=_internal | head 1",id:b},function(b){a.ok(!!b),a.done()})},"Callback#List jobs":function(a){this.service.jobs().fetch(function(b,c){a.ok(!b),a.ok(c);var d=c.list();a.ok(d.length>0);for(var e=0;ec),a.ok(e<=c*2),b.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Set priority":function(a){var b=i(),c=0,d=this,e=this.service.specialize("nobody","xml2json");f.chain([function(a){e.jobs().search("search index=_internal | head 1 | sleep 5",{id:b},a)},function(a,b){a.track({},{ready:function(a){b(null,a)}})},function(b,c){var d=b.properties().priority;a.ok(d,5),b.setPriority(d+1,c)},function(a,b){a.fetch(b)},function(a,b){a.cancel(b)}],function(b){a.ok(!b),a.done()})},"Callback#Search log":function(a){var b=i(),c=this;f.chain([function(a){c.service.jobs().search("search index=_internal | head 1",{id:b,exec_mode:"blocking"},a)},function(a,b){a.searchlog(b)},function(b,c,d){a.ok(c),a.ok(b),a.ok(b.length>0),a.ok(b.split("\r\n").length>0),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Search summary":function(a){var b=i(),c=this;f.chain([function(a){c.service.jobs().search('search index=_internal | head 1 | eval foo="bar" | fields foo',{id:b,status_buckets:300,rf:["foo"]},a)},function(a,b){f.sleep(2e3,function(){a.summary({},b)})},function(b,c,d){a.ok(c),a.ok(b),a.strictEqual(b.event_count,1),a.strictEqual(b.fields.foo.count,1),a.strictEqual(b.fields.foo.distinct_count,1),a.ok(b.fields.foo.is_exact,1),a.strictEqual(b.fields.foo.modes.length,1),a.strictEqual(b.fields.foo.modes[0].count,1),a.strictEqual(b.fields.foo.modes[0].value,"bar"),a.ok(b.fields.foo.modes[0].is_exact),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Search timeline":function(a){var b=i(),c=this;f.chain([function(a){c.service.jobs().search('search index=_internal | head 1 | eval foo="bar" | fields foo',{id:b,status_buckets:300,rf:["foo"],exec_mode:"blocking"},a)},function(a,b){a.timeline({},b)},function(b,c,d){a.ok(c),a.ok(b),a.strictEqual(b.buckets.length,1),a.strictEqual(b.event_count,1),a.strictEqual(b.buckets[0].available_count,1),a.strictEqual(b.buckets[0].duration,.001),a.strictEqual(b.buckets[0].earliest_time_offset,b.buckets[0].latest_time_offset),a.strictEqual(b.buckets[0].total_count,1),a.ok(b.buckets[0].is_finalized),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Touch":function(a){var b=i(),c=this,d="";f.chain([function(a){c.service.jobs().search("search index=_internal | head 1",{id:b},a)},function(a,b){a.fetch(b)},function(b,c){a.ok(b),d=b.properties().updated,f.sleep(1200,function(){b.touch(c)})},function(a,b){a.fetch(b)},function(b,c){a.ok(d!==b.updated()),b.cancel(c)}],function(b){a.ok(!b),a.done()})},"Callback#Create failure":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",d=this.service.jobs();a.throws(function(){d.create({search:c,name:b,exec_mode:"oneshot"},function(){})}),a.done()},"Callback#Create fails with no search string":function(a){var b=this.service.jobs();b.create("",{},function(b){a.ok(b),a.done()})},"Callback#Oneshot search":function(a){var b=i(),c=this,d="";f.chain([function(a){c.service.jobs().oneshotSearch("search index=_internal | head 1 | stats count",{id:b},a)},function(b,c){a.ok(b),a.ok(b.fields),a.strictEqual(b.fields.length,1),a.strictEqual(b.fields[0],"count"),a.ok(b.rows),a.strictEqual(b.rows.length,1),a.strictEqual(b.rows[0].length,1),a.strictEqual(b.rows[0][0],"1"),c()}],function(b){a.ok(!b),a.done()})},"Callback#Oneshot search with no results":function(a){var b=i(),c=this,d="";f.chain([function(a){var d="search index=history MUST_NOT_EXISTABCDEF";c.service.jobs().oneshotSearch(d,{id:b},a)},function(b,c){a.ok(b),a.strictEqual(b.fields.length,0),a.strictEqual(b.rows.length,0),a.ok(!b.preview),c()}],function(b){a.ok(!b),a.done()})},"Callback#Service oneshot search":function(a){var b=i(),c=this,d="";f.chain([function(a){c.service.oneshotSearch("search index=_internal | head 1 | stats count",{id:b},a)},function(b,c){a.ok(b),a.ok(b.fields),a.strictEqual(b.fields.length,1),a.strictEqual(b.fields[0],"count"),a.ok(b.rows),a.strictEqual(b.rows.length,1),a.strictEqual(b.rows[0].length,1),a.strictEqual(b.rows[0][0],"1"),c()}],function(b){a.ok(!b),a.done()})},"Callback#Service search":function(a){var b=i(),c=this.service,d=this;f.chain([function(a){d.service.search("search index=_internal | head 1 | stats count",{id:b},a)},function(c,d){a.strictEqual(c.sid,b),g.pollUntil(c,function(a){return c.properties().isDone},10,d)},function(a,b){a.results({},b)},function(b,c,d){a.strictEqual(b.rows.length,1),a.strictEqual(b.fields.length,1),a.strictEqual(b.fields[0],"count"),a.strictEqual(b.rows[0][0],"1"),c.cancel(d)}],function(b){a.ok(!b),a.done()})},"Callback#Wait until job done":function(a){this.service.search("search index=_internal | head 1000",{},function(b,c){a.ok(!b);var d=0,e=0;c.track({period:200},{ready:function(b){a.ok(b),d++},progress:function(b){a.ok(b),e++},done:function(b){a.ok(b),a.ok(d===1),a.ok(e>=1),a.done()},failed:function(b){a.ok(b),a.ok(!1,"Job failed unexpectedly."),a.done()},error:function(b){a.ok(b),a.ok(!1,"Error while tracking job."),a.done()}})})},"Callback#Wait until job failed":function(a){this.service.search("search index=_internal | head bogusarg",{},function(b,c){if(b){a.ok(!b),a.done();return}var d=0,e=0;c.track({period:200},{ready:function(b){a.ok(b),d++},progress:function(b){a.ok(b),e++},done:function(b){a.ok(b),a.ok(!1,"Job became done unexpectedly."),a.done()},failed:function(b){a.ok(b),a.ok(d===1),a.ok(e>=1),a.done()},error:function(b){a.ok(b),a.ok(!1,"Error while tracking job."),a.done()}})})},"Callback#track() with default params and one function":function(a){this.service.search("search index=_internal | head 1",{},function(b,c){if(b){a.ok(!b),a.done();return}c.track({},function(b){a.ok(b),a.done()})})},"Callback#track() should stop polling if only the ready callback is specified":function(a){this.service.search("search index=_internal | head 1",{},function(b,c){if(b){a.ok(!b),a.done();return}c.track({},{ready:function(b){a.ok(b)},_stoppedAfterReady:function(b){a.done()}})})},"Callback#track() a job that is not immediately ready":function(a){var b=20,c=b,d=!1;for(var e=0;e0),a.done()})},"Callback#contains applications":function(a){var b=this.service.apps();b.fetch(function(b,c){var d=c.item("search");a.ok(d),a.done()})},"Callback#create + contains app":function(a){var b="jssdk_testapp_"+i(),c=this.service.apps();c.create({name:b},function(b,d){var e=d.name;c.fetch(function(b,c){var f=c.item(e);a.ok(f),d.remove(function(){a.done()})})})},"Callback#create + modify app":function(a){var b="TEST DESCRIPTION",c="1.1",d="jssdk_testapp_"+i(),e=this.service.apps();f.chain([function(a){e.create({name:d},a)},function(e,f){a.ok(e),a.strictEqual(e.name,d),a.strictEqual(e.properties().version,"1.0"),e.update({description:b,version:c},f)},function(d,e){a.ok(d);var f=d.properties();a.strictEqual(f.description,b),a.strictEqual(f.version,c),d.remove(e)},function(b){a.done(),b()}])},"Callback#delete test applications":function(a){var b=this.service.apps();b.fetch(function(b,c){var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})}},"Saved Search Tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Callback#list":function(a){var b=this.service.savedSearches();b.fetch(function(b,c){var d=c.list();a.ok(d.length>0);for(var e=0;e0);for(var e=0;e1),a.ok(e.indexOf(b.fields().optional,"disabled")>-1),b.remove(c)}],function(b){a.ok(!b),a.done()})},"Callback#dispatch error":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",e=new d.Service.SavedSearch(this.loggedOutService,b,{owner:"nobody",app:"search"});e.dispatch(function(b){a.ok(b),a.done()})},"Callback#dispatch omitting optional arguments":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",d=this.service.savedSearches({owner:this.service.username,app:"xml2json"});f.chain([function(a){d.create({search:c,name:b},a)},function(d,e){a.ok(d),a.strictEqual(d.name,b),a.strictEqual(d.properties().search,c),a.ok(!d.properties().description),d.dispatch(e)},function(b,c,d){a.ok(b),a.ok(c),a.done()}])},"Callback#history error":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",e=new d.Service.SavedSearch(this.loggedOutService,b,{owner:"nobody",app:"search",sharing:"system"});e.history(function(b){a.ok(b),a.done()})},"Callback#Update error":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",e=new d.Service.SavedSearch(this.loggedOutService,b,{owner:"nobody",app:"search",sharing:"system"});e.update({},function(b){a.ok(b),a.done()})},"Callback#oneshot requires search string":function(a){a.throws(function(){this.service.oneshotSearch({name:"jssdk_oneshot_"+i()},function(a){})}),a.done()},"Callback#Create + dispatch + history":function(a){var b="jssdk_savedsearch_"+i(),c="search index=_internal | head 1",d=this.service.savedSearches({owner:this.service.username,app:"xml2json"});f.chain(function(a){d.create({search:c,name:b},a)},function(d,e){a.ok(d),a.strictEqual(d.name,b),a.strictEqual(d.properties().search,c),a.ok(!d.properties().description),d.dispatch({force_dispatch:!1,"dispatch.buckets":295},e)},function(b,c,d){a.ok(b),a.ok(c),g.pollUntil(b,function(a){return b.properties().isDone},10,f.augment(d,c))},function(b,c,d){a.strictEqual(b.properties().statusBuckets,295),c.history(f.augment(d,b))},function(b,c,d,e){a.ok(b),a.ok(b.length>0),a.ok(c),a.ok(d);var g=function(a){return function(b){a.cancel(b)}},h=!1,i=[];for(var j=0;j0),c()}],function(b){a.ok(!b),a.done()})},"Callback#item":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web"),c()}],function(b){a.ok(!b),a.done()})},"Callback#contains stanza":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web");var d=b.item("settings");a.ok(d),d.fetch(c)},function(b,c){a.ok(b.properties().hasOwnProperty("httpport")),c()}],function(b){a.ok(!b),a.done()})},"Callback#create file + create stanza + update stanza":function(a){var c=this,e="jssdk_file_"+i(),g="barfoo_"+i(),h={owner:"admin",app:"search"};f.chain([function(a){var b=c.service.configurations(h);b.fetch(a)},function(a,b){a.create(e,b)},function(a,b){a.create("stanza",b)},function(a,b){a.update({jssdk_foobar:g},b)},function(b,c){a.strictEqual(b.properties().jssdk_foobar,g),c()},function(a){var c=new d.Service.ConfigurationFile(b,e);c.fetch(a)},function(b,c){var d=b.item("stanza");a.ok(d),d.remove(c)}],function(b){a.ok(!b),a.done()})}},"Configuration Tests":{setUp:function(a){this.service=b,a()},"Callback#list":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.list();a.ok(d.length>0),c()}],function(b){a.ok(!b),a.done()})},"Callback#contains":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web"),c()}],function(b){a.ok(!b),a.done()})},"Callback#contains stanza":function(a){var b=this,c={owner:"admin",app:"search"};f.chain([function(a){b.service.configurations(c).fetch(a)},function(b,c){var d=b.item("web");a.ok(d),d.fetch(c)},function(b,c){a.strictEqual(b.name,"web");var d=b.item("settings");a.ok(d),d.fetch(c)},function(b,c){a.ok(b.properties().hasOwnProperty("httpport")),c()}],function(b){a.ok(!b),a.done()})},"Callback#configurations init":function(a){a.throws(function(){var a=new d.Service.Configurations(this.service,{owner:"-",app:"-",sharing:"system"})}),a.done()},"Callback#create file + create stanza + update stanza":function(a){var c=this,e={owner:"nobody",app:"system"},g="jssdk_file_"+i(),h="barfoo_"+i();f.chain([function(a){var c=b.configurations(e);c.fetch(a)},function(a,b){a.create({__conf:g},b)},function(a,b){a.item("stanza")&&a.item("stanza").remove(),a.create("stanza",b)},function(a,b){a.update({jssdk_foobar:h},b)},function(b,c){a.strictEqual(b.properties().jssdk_foobar,h),c()},function(a){var c=new d.Service.ConfigurationFile(b,g);c.fetch(a)},function(b,c){var d=b.item("stanza");a.ok(d),d.remove(c)}],function(b){a.ok(!b),a.done()})}},"Index Tests":{setUp:function(a){this.service=b,this.loggedOutService=c;var d=this.indexName="sdk-tests",e=this.service.indexes();e.create(d,{},function(b,c){if(b&&b.status!==409)throw new Error("Index creation failed for an unknown reason");a()})},"Callback#remove index fails on Splunk 4.x":function(a){var b=this.service.version;this.service.version="4.0";var c=this.service.indexes().item(this.indexName);a.throws(function(){c.remove(function(a){})}),this.service.version=b,a.done()},"Callback#remove index":function(a){var b=this.service.indexes(),c=Math.floor(Math.random()*65536),d=this.indexName+"-"+c;if(this.service.versionCompare("5.0")<0){console.log("Must be running Splunk 5.0+ for this test to work."),a.done();return}f.chain([function(a){b.create(d,{},a)},function(a,b){a.remove(b)},function(a){var c=50,e=100;f.whilst(function(){return b.item(d)&&c-->0},function(a){f.sleep(e,function(){b.fetch(a)})},function(b){b?a(b):a(c<=0?"Timed out":null)})}],function(b){a.ok(!b),a.done()})},"Callback#list indexes":function(a){var b=this.service.indexes();b.fetch(function(b,c){var d=c.list();a.ok(d.length>0),a.done()})},"Callback#contains index":function(a){var b=this.service.indexes(),c=this.indexName;b.fetch(function(b,d){var e=d.item(c);a.ok(e),a.done()})},"Callback#modify index":function(a){var b=this.indexName,c=this.service.indexes(),d=!1;f.chain([function(a){c.fetch(a)},function(c,e){var f=c.item(b);a.ok(f),d=f.properties().syncMeta,f.update({syncMeta:!d},e)},function(b,c){a.ok(b);var e=b.properties();a.strictEqual(!d,e.syncMeta),b.update({syncMeta:!e.syncMeta},c)},function(b,c){a.ok(b);var e=b.properties();a.strictEqual(d,e.syncMeta),c()}],function(b){a.ok(!b),a.done()})},"Callback#Enable+disable index":function(a){var b=this.indexName,c=this.service.indexes();f.chain([function(a){c.fetch(a)},function(c,d){var e=c.item(b);a.ok(e),e.disable(d)},function(b,c){a.ok(b),b.fetch(c)},function(b,c){a.ok(b),a.ok(b.properties().disabled),b.enable(c)},function(b,c){a.ok(b),b.fetch(c)},function(b,c){a.ok(b),a.ok(!b.properties().disabled),c()}],function(b){a.ok(!b),a.done()})},"Callback#Service submit event":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.service,e=this.indexName;f.chain(function(a){d.log(b,{sourcetype:c,index:e},a)},function(d,f){a.ok(d),a.strictEqual(d.sourcetype,c),a.strictEqual(d.bytes,b.length),a.strictEqual(d.index,e),f()},function(b){a.ok(!b),a.done()})},"Callback#Service submit event, omitting optional arguments":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.service,e=this.indexName;f.chain(function(a){d.log(b,a)},function(c,d){a.ok(c),a.strictEqual(c.bytes,b.length),d()},function(b){a.ok(!b),a.done()})},"Callback#Service submit event, failure":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.loggedOutService,e=this.indexName;f.chain(function(c){a.ok(d),d.log(b,c)},function(b){a.ok(b),a.done()})},"Callback#remove throws an error":function(a){var b=this.service.indexes().item("_internal");a.throws(function(){b.remove()}),a.done()},"Callback#create an index with alternate argument format":function(a){var b=this.service.indexes();b.create({name:"_internal"},function(b,c){a.ok(b.data.messages[0].text.match("Index name=_internal already exists")),a.done()})},"Callback#Index submit event with omitted optional arguments":function(a){var b="Hello world -- "+i(),c=this.indexName,d=this.service.indexes();f.chain([function(a){d.fetch(a)},function(d,e){var f=d.item(c);a.ok(f),a.strictEqual(f.name,c),f.submitEvent(b,e)},function(d,e,f){a.ok(d),a.strictEqual(d.bytes,b.length),a.strictEqual(d.index,c),f()}],function(b){a.ok(!b),a.done()})},"Callback#Index submit event":function(a){var b="Hello World -- "+i(),c="sdk-tests",d=this.indexName,e=this.service.indexes();f.chain([function(a){e.fetch(a)},function(e,f){var g=e.item(d);a.ok(g),a.strictEqual(g.name,d),g.submitEvent(b,{sourcetype:c},f)},function(e,f,g){a.ok(e),a.strictEqual(e.sourcetype,c),a.strictEqual(e.bytes,b.length),a.strictEqual(e.index,d),g()}],function(b){a.ok(!b),a.done()})}},"User Tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Callback#Current user":function(a){var b=this.service;b.currentUser(function(c,d){a.ok(!c),a.ok(d),a.strictEqual(d.name,b.username),a.done()})},"Callback#Current user fails":function(a){var b=this.loggedOutService;b.currentUser(function(b,c){a.ok(b),a.done()})},"Callback#List users":function(a){var b=this.service;b.users().fetch(function(b,c){var d=c.list();a.ok(!b),a.ok(c),a.ok(d),a.ok(d.length>0),a.done()})},"Callback#create user failure":function(a){this.loggedOutService.users().create({name:"jssdk_testuser",password:"abc",roles:"user"},function(b,c){a.ok(b),a.done()})},"Callback#Create + update + delete user":function(a){var b=this.service,c="jssdk_testuser";f.chain([function(a){b.users().create({name:"jssdk_testuser",password:"abc",roles:"user"},a)},function(b,d){a.ok(b),a.strictEqual(b.name,c),a.strictEqual(b.properties().roles.length,1),a.strictEqual(b.properties().roles[0],"user"),b.update({realname:"JS SDK",roles:["admin","user"]},d)},function(b,c){a.ok(b),a.strictEqual(b.properties().realname,"JS SDK"),a.strictEqual(b.properties().roles.length,2),a.strictEqual(b.properties().roles[0],"admin"),a.strictEqual(b.properties().roles[1],"user"),b.remove(c)}],function(b){a.ok(!b),a.done()})},"Callback#Roles":function(a){var b=this.service,c="jssdk_testuser_"+i();f.chain([function(a){b.users().create({name:c,password:"abc",roles:"user"},a)},function(b,d){a.ok(b),a.strictEqual(b.name,c),a.strictEqual(b.properties().roles.length,1),a.strictEqual(b.properties().roles[0],"user"),b.update({roles:["admin","user"]},d)},function(b,c){a.ok(b),a.strictEqual(b.properties().roles.length,2),a.strictEqual(b.properties().roles[0],"admin"),a.strictEqual(b.properties().roles[1],"user"),b.update({roles:"user"},c)},function(b,c){a.ok(b),a.strictEqual(b.properties().roles.length,1),a.strictEqual(b.properties().roles[0],"user"),b.update({roles:"__unknown__"},c)}],function(b){a.ok(b),a.strictEqual(b.status,400),a.done()})},"Callback#Passwords":function(a){var b=this.service,c=null,e="jssdk_testuser_"+i();f.chain([function(a){b.users().create({name:e,password:"abc",roles:"user"},a)},function(g,h){a.ok(g),a.strictEqual(g.name,e),a.strictEqual(g.properties().roles.length,1),a.strictEqual(g.properties().roles[0],"user"),c=new d.Service(b.http,{username:e,password:"abc",host:b.host,port:b.port,scheme:b.scheme,version:b.version}),c.login(f.augment(h,g))},function(b,c,d){a.ok(b),a.ok(c),c.update({password:"abc2"},d)},function(b,d){c.login(function(c,e){a.ok(c),a.ok(!e),b.update({password:"abc"},d)})},function(b,d){a.ok(b),c.login(d)}],function(b){a.ok(!b),a.done()})},"Callback#delete test users":function(a){var b=this.service.users();b.fetch(function(b,c){var d=c.list();f.parallelEach(d,function(a,b,c){e.startsWith(a.name,"jssdk_")?a.remove(c):c()},function(b){a.ok(!b),a.done()})})}},"Server Info Tests":{setUp:function(a){this.service=b,a()},"Callback#Basic":function(a){var b=this.service;b.serverInfo(function(b,c){a.ok(!b),a.ok(c),a.strictEqual(c.name,"server-info"),a.ok(c.properties().hasOwnProperty("version")),a.ok(c.properties().hasOwnProperty("serverName")),a.ok(c.properties().hasOwnProperty("os_version")),a.done()})}},"View Tests":{setUp:function(a){this.service=b,a()},"Callback#List views":function(a){var b=this.service;b.views({owner:"admin",app:"search"}).fetch(function(b,c){a.ok(!b),a.ok(c);var d=c.list();a.ok(d),a.ok(d.length>0);for(var e=0;e",e="";f.chain([function(a){b.views({owner:"admin",app:"xml2json"}).create({name:c,"eai:data":d},a)},function(b,f){a.ok(b),a.strictEqual(b.name,c),a.strictEqual(b.properties()["eai:data"],d),b.update({"eai:data":e},f)},function(b,c){a.ok(b),a.strictEqual(b.properties()["eai:data"],e),b.remove(c)}],function(b){a.ok(!b),a.done()})}},"Parser Tests":{setUp:function(a){this.service=b,a()},"Callback#Basic parse":function(a){var b=this.service;b.parse("search index=_internal | head 1",function(b,c){a.ok(!b),a.ok(c),a.ok(c.commands.length>0),a.done()})},"Callback#Parse error":function(a){var b=this.service;b.parse("ABCXYZ",function(b,c){a.ok(b),a.strictEqual(b.status,400),a.done()})}},"Typeahead Tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Callback#Typeahead failure":function(a){var b=this.loggedOutService;b.typeahead("index=",1,function(b,c){a.ok(b),a.done()})},"Callback#Basic typeahead":function(a){var b=this.service;b.typeahead("index=",1,function(b,c){a.ok(!b),a.ok(c),a.strictEqual(c.length,1),a.ok(c[0]),a.done()})},"Typeahead with omitted optional arguments":function(a){var b=this.service;b.typeahead("index=",function(b,c){a.ok(!b),a.ok(c),a.done()})}},"Endpoint Tests":{setUp:function(a){this.service=b,a()},"Throws on null arguments to init":function(a){var b=this.service;a.throws(function(){var a=new d.Service.Endpoint(null,"a/b")}),a.throws(function(){var a=new d.Service.Endpoint(b,null)}),a.done()},"Endpoint delete on a relative path":function(a){var b=this.service,c=new d.Service.Endpoint(b,"/search/jobs/12345");c.del("search/jobs/12345",{},function(){a.done()})},"Methods of Resource to be overridden":function(a){var b=this.service,c=new d.Service.Resource(b,"/search/jobs/12345");a.throws(function(){c.path()}),a.throws(function(){c.fetch()}),a.ok(d.Utils.isEmpty(c.state())),a.done()}},"Entity tests":{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Accessors function properly":function(a){var b=new d.Service.Entity(this.service,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b._load({acl:{owner:"boris",app:"factory",sharing:"app"},links:{link1:35},published:"meep",author:"Hilda"}),a.ok(b.acl().owner==="boris"),a.ok(b.acl().app==="factory"),a.ok(b.acl().sharing==="app"),a.ok(b.links().link1===35),a.strictEqual(b.author(),"Hilda"),a.strictEqual(b.published(),"meep"),a.done()},"Refresh throws error correctly":function(a){var b=new d.Service.Entity(this.loggedOutService,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b.fetch({},function(b){a.ok(b),a.done()})},"Cannot update name of entity":function(a){var b=new d.Service.Entity(this.service,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});a.throws(function(){b.update({name:"asdf"})}),a.done()},"Disable throws error correctly":function(a){var b=new d.Service.Entity(this.loggedOutService,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b.disable(function(b){a.ok(b),a.done()})},"Enable throws error correctly":function(a){var b=new d.Service.Entity(this.loggedOutService,"/search/jobs/12345",{owner:"boris",app:"factory",sharing:"app"});b.enable(function(b){a.ok(b),a.done()})},"Does reload work?":function(a){var b=new d.Service.Index(this.service,"data/indexes/sdk-test",{owner:"admin",app:"search",sharing:"app"}),c="jssdk_testapp_"+i(),e=this.service.apps(),g=this;f.chain(function(a){e.create({name:c},a)},function(b,c){b.reload(function(d){a.ok(!d),c(null,b)})},function(b,c){var e=new d.Service.Application(g.loggedOutService,b.name);e.reload(function(d){a.ok(d),c(null,b)})},function(a,b){a.remove(b)},function(b){a.ok(!b),a.done()})}},Collections:{setUp:function(a){this.service=b,this.loggedOutService=c,a()},"Methods to be overridden throw":function(a){var b=new d.Service.Collection(this.service,"/data/indexes",{owner:"admin",app:"search",sharing:"app"});a.throws(function(){b.instantiateEntity({})}),a.done()},"Accessors work":function(a){var b=new d.Service.Collection(this.service,"/data/indexes",{owner:"admin",app:"search",sharing:"app"});b._load({links:"Hilda",updated:!0}),a.strictEqual(b.links(),"Hilda"),a.ok(b.updated()),a.done()},"Contains throws without a good id":function(a){var b=new d.Service.Collection(this.service,"/data/indexes",{owner:"admin",app:"search",sharing:"app"});a.throws(function(){b.item(null)}),a.done()}}};return j};if(b===a.main){var f=a("../index"),g=a("../examples/node/cmdline"),h=a("../contrib/nodeunit/test_reporter"),i=g.create(),j=i.parse(process.argv);if(!j)throw new Error("Error in parsing command line parameters");var k=new f.Service({scheme:j.opts.scheme,host:j.opts.host,port:j.opts.port,username:j.opts.username,password:j.opts.password,version:j.opts.version}),l=new f.Service({scheme:j.opts.scheme,host:j.opts.host,port:j.opts.port,username:j.opts.username,password:j.opts.password+"wrong",version:j.opts.version}),m=c.setup(k,l);k.login(function(a,b){if(a||!b)throw new Error("Login failed - not running tests",a||"");h.run([{Tests:m}])})}}),require.define("/tests/test_examples.js",function(a,b,c,d,e){c.setup=function(b,c){var d=a("../index"),e=d.Async;d.Logger.setLevel("ALL");var f=0,g=function(){return"id"+f++ +"_"+(new Date).valueOf()},h=["program","script"];return{"Hello World Tests":{Apps:function(b){var d=a("../examples/node/helloworld/apps").main;d(c,b.done)},"Apps#Async":function(b){var d=a("../examples/node/helloworld/apps_async").main;d(c,b.done)},"Fired Alerts":function(b){var d=a("../examples/node/helloworld/firedalerts").main;d(c,b.done)},"Fired Alerts#Async":function(b){var d=a("../examples/node/helloworld/firedalerts_async").main;d(c,b.done)},"Fired Alerts#Create":function(b){var d=a("../examples/node/helloworld/firedalerts_create").main;d(c,b.done)},"Fired Alerts#Delete":function(b){var d=a("../examples/node/helloworld/firedalerts_delete").main;d(c,b.done)},"Saved Searches":function(b){var d=a("../examples/node/helloworld/savedsearches").main;d(c,b.done)},"Saved Searches#Async":function(b){var d=a("../examples/node/helloworld/savedsearches_async").main;d(c,b.done)},"Saved Searches#Delete":function(b){var d=a("../examples/node/helloworld/savedsearches_delete").main;d(c,b.done)},"Saved Searches#Create":function(b){var d=a("../examples/node/helloworld/savedsearches_create").main;d(c,b.done)},"Saved Searches#Delete Again":function(b){var d=a("../examples/node/helloworld/savedsearches_delete").main;d(c,b.done)},"Search#normal":function(b){var d=a("../examples/node/helloworld/search_normal").main;d(c,b.done)},"Search#blocking":function(b){var d=a("../examples/node/helloworld/search_blocking").main;d(c,b.done)},"Search#oneshot":function(b){var d=a("../examples/node/helloworld/search_oneshot").main;d(c,b.done)},"Search#realtime":function(b){var d=a("../examples/node/helloworld/search_realtime").main;d(c,b.done)},Logging:function(b){var d=a("../examples/node/helloworld/log").main;d(c,b.done)}},"Jobs Example Tests":{setUp:function(b){var c=this;this.main=a("../examples/node/jobs").main,this.run=function(a,b,d,e){var f=h.slice();a&&f.push(a);if(b)for(var g=0;gd},function(b){g.sleep(1e3,function(){a.preview({},function(a,c){if(a){b(a);return}if(c&&c.rows){d++,console.log("========== Iteration "+d+" ==========");var e=c.fields.indexOf("sourcetype"),f=c.fields.indexOf("count");for(var g=0;g",k,[],e),c.add("preview","Fetch preview results for the specified search jobs","",k,[],e),c.add("events","Fetch events for the specified search jobs","",j,[],e),c.add("cancel","Cancel the specify search jobs","",[],[],e),c.add("list","List all search jobs or properties for those specified","[sids...]",[],[],e),c.parse(a);if(!c.executedCommand){console.log(c.helpInformation()),b("You must specify a command to run.");return}},b===a.main&&c.main(process.argv)})()}),require.define("/examples/node/search.js",function(a,b,c,d,e){(function(){var d=a("../../index"),e=d.Class,f=d.Utils,g=d.Async,h=a("./cmdline"),i=a("util").print,j=["search","earliest_time","latest_time","now","time_format","exec_mode","search_mode","rt_blocking","rt_queue_size","rt_maxblocksecs","rt_indexfilter","id","status_buckets","max_count","max_time","timeout","auto_finalize_ec","enable_lookups","reload_macros","reduce_freq","spawn_process","required_field_list","rf","auto_cancel","auto_pause"],k=function(a){return new d.Service({scheme:a.scheme,host:a.host,port:a.port,username:a.username,password:a.password,version:a.version})},l=function(a,b,c){var d=b.search,e=b.verbose,f=b.count||0,h=b.mode||"row";delete b.search,delete b.verbose,delete b.count,delete b.mode,g.chain([function(c){a.search(d,b,c)},function(a,b){g.whilst(function(){return!a.properties().isDone},function(b){a.fetch(function(a,d){if(a)c(a);else{var f=d.properties();if(e){var h=f.doneProgress*100+"%",j=f.scanCount,k=f.eventCount,l=f.resultCount,m="-- "+h+" done | "+j+" scanned | "+k+" matched | "+l+" results";i("\r"+m+" ")}g.sleep(1e3,b)}})},function(c){e&&i("\r"),b(c,a)})},function(a,b){a.results({count:f,json_mode:h},b)},function(a,b,c){process.stdout.write(JSON.stringify(a)),b.cancel(c)}],function(a){c(a)})},m=function(a,b,c){var d=b.search;delete b.search,a.oneshotSearch(d,b,function(a,b){a?c(a):(console.log(JSON.stringify(b)),c())})};c.main=function(a,b){d.Logger.setLevel("NONE"),b=b||function(a){a&&console.log(a)};var c=h.create();c.name="search",c.description("Create a search and print the results to stdout"),c.option("--verbose","Output job progress as we wait for completion"),c.option("--count ","How many results to fetch"),c.option("--mode ","Row or column mode [row|column]");var e=j,f=["search"];for(var g=0;g=0,n="<"+e[g]+">";c.option("--"+e[g]+" "+n,"",undefined,i)}c.on("--help",function(){console.log(" Examples:"),console.log(" "),console.log(" Create a regular search:"),console.log(" > node search.js --search 'search index=_internal | head 10'"),console.log(" "),console.log(" Create a oneshot search:"),console.log(" > node search.js --search 'search index=_internal | head 10' --exec_mode oneshot"),console.log(" "),console.log(" Create a regular search and only return 10 results:"),console.log(" > node search.js --search 'search index=_internal | head 20' --count 10"),console.log(" "),console.log(" Create a regular search and output the progress while the search is running"),console.log(" > node search.js --search 'search index=_internal | head 20' --verbose"),console.log(" ")}),c.parse(a);var o=k(c.opts);o.login(function(a,d){if(a||!d){b("Error logging in");return}delete c.username,delete c.password,delete c.scheme,delete c.host,delete c.port,delete c.namespace,delete c.version,c.opts.exec_mode==="oneshot"?m(o,c.opts,b):l(o,c.opts,b)})},b===a.main&&c.main(process.argv)})()}),require.define("util",function(a,b,c,d,e){function g(a){return a instanceof Array||Array.isArray(a)||a&&a!==Object.prototype&&g(a.__proto__)}function h(a){return a instanceof RegExp||typeof a=="object"&&Object.prototype.toString.call(a)==="[object RegExp]"}function i(a){if(a instanceof Date)return!0;if(typeof a!="object")return!1;var b=Date.prototype&&n(Date.prototype),c=a.__proto__&&n(a.__proto__);return JSON.stringify(c)===JSON.stringify(b)}function j(a){return a<10?"0"+a.toString(10):a.toString(10)}function l(){var a=new Date,b=[j(a.getHours()),j(a.getMinutes()),j(a.getSeconds())].join(":");return[a.getDate(),k[a.getMonth()],b].join(" ")}var f=a("events");c.print=function(){},c.puts=function(){},c.debug=function(){},c.inspect=function(a,b,d,e){function k(a,d){if(a&&typeof a.inspect=="function"&&a!==c&&(!a.constructor||a.constructor.prototype!==a))return a.inspect(d);switch(typeof a){case"undefined":return j("undefined","undefined");case"string":var e="'"+JSON.stringify(a).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return j(e,"string");case"number":return j(""+a,"number");case"boolean":return j(""+a,"boolean")}if(a===null)return j("null","null");var l=m(a),o=b?n(a):l;if(typeof a=="function"&&o.length===0){if(h(a))return j(""+a,"regexp");var p=a.name?": "+a.name:"";return j("[Function"+p+"]","special")}if(i(a)&&o.length===0)return j(a.toUTCString(),"date");var q,r,s;g(a)?(r="Array",s=["[","]"]):(r="Object",s=["{","}"]);if(typeof a=="function"){var t=a.name?": "+a.name:"";q=h(a)?" "+a:" [Function"+t+"]"}else q="";i(a)&&(q=" "+a.toUTCString());if(o.length===0)return s[0]+q+s[1];if(d<0)return h(a)?j(""+a,"regexp"):j("[Object]","special");f.push(a);var u=o.map(function(b){var c,e;a.__lookupGetter__&&(a.__lookupGetter__(b)?a.__lookupSetter__(b)?e=j("[Getter/Setter]","special"):e=j("[Getter]","special"):a.__lookupSetter__(b)&&(e=j("[Setter]","special"))),l.indexOf(b)<0&&(c="["+b+"]"),e||(f.indexOf(a[b])<0?(d===null?e=k(a[b]):e=k(a[b],d-1),e.indexOf("\n")>-1&&(g(a)?e=e.split("\n").map(function(a){return" "+a}).join("\n").substr(2):e="\n"+e.split("\n").map(function(a){return" "+a}).join("\n"))):e=j("[Circular]","special"));if(typeof c=="undefined"){if(r==="Array"&&b.match(/^\d+$/))return e;c=JSON.stringify(""+b),c.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(c=c.substr(1,c.length-2),c=j(c,"name")):(c=c.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),c=j(c,"string"))}return c+": "+e});f.pop();var v=0,w=u.reduce(function(a,b){return v++,b.indexOf("\n")>=0&&v++,a+b.length+1},0);return w>50?u=s[0]+(q===""?"":q+"\n ")+" "+u.join(",\n ")+" "+s[1]:u=s[0]+q+" "+u.join(", ")+" "+s[1],u}var f=[],j=function(a,b){var c={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},d={special:"cyan",number:"blue","boolean":"yellow","undefined":"grey","null":"bold",string:"green",date:"magenta",regexp:"red"}[b];return d?"["+c[d][0]+"m"+a+"["+c[d][1]+"m":a};return e||(j=function(a,b){return a}),k(a,typeof d=="undefined"?2:d)};var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];c.log=function(a){},c.pump=null;var m=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b},n=Object.getOwnPropertyNames||function(a){var b=[];for(var c in a)Object.hasOwnProperty.call(a,c)&&b.push(c);return b},o=Object.create||function(a,b){var c;if(a===null)c={__proto__:null};else{if(typeof a!="object")throw new TypeError("typeof prototype["+typeof a+"] != 'object'");var d=function(){};d.prototype=a,c=new d,c.__proto__=a}return typeof b!="undefined"&&Object.defineProperties&&Object.defineProperties(c,b),c};c.inherits=function(a,b){a.super_=b,a.prototype=o(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}}),require.define("events",function(a,b,c,d,e){process.EventEmitter||(process.EventEmitter=function(){});var f=c.EventEmitter=process.EventEmitter,g=typeof Array.isArray=="function"?Array.isArray:function(a){return Object.toString.call(a)==="[object Array]"},h=10;f.prototype.setMaxListeners=function(a){this._events||(this._events={}),this._events.maxListeners=a},f.prototype.emit=function(a){if(a==="error")if(!this._events||!this._events.error||g(this._events.error)&&!this._events.error.length)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");if(!this._events)return!1;var b=this._events[a];if(!b)return!1;if(typeof b=="function"){switch(arguments.length){case 1:b.call(this);break;case 2:b.call(this,arguments[1]);break;case 3:b.call(this,arguments[1],arguments[2]);break;default:var c=Array.prototype.slice.call(arguments,1);b.apply(this,c)}return!0}if(g(b)){var c=Array.prototype.slice.call(arguments,1),d=b.slice();for(var e=0,f=d.length;e0&&this._events[a].length>c&&(this._events[a].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[a].length),console.trace())}this._events[a].push(b)}else this._events[a]=[this._events[a],b];return this},f.prototype.on=f.prototype.addListener,f.prototype.once=function(a,b){var c=this;return c.on(a,function d(){c.removeListener(a,d),b.apply(this,arguments)}),this},f.prototype.removeListener=function(a,b){if("function"!=typeof b)throw new Error("removeListener only takes instances of Function");if(!this._events||!this._events[a])return this;var c=this._events[a];if(g(c)){var d=c.indexOf(b);if(d<0)return this;c.splice(d,1),c.length==0&&delete this._events[a]}else this._events[a]===b&&delete this._events[a];return this},f.prototype.removeAllListeners=function(a){return a&&this._events&&this._events[a]&&(this._events[a]=null),this},f.prototype.listeners=function(a){return this._events||(this._events={}),this._events[a]||(this._events[a]=[]),g(this._events[a])||(this._events[a]=[this._events[a]]),this._events[a]}}),require.define("/browser.test.entry.js",function(a,b,c,d,e){window.SplunkTest={Utils:a("../../tests/test_utils"),Async:a("../../tests/test_async"),Http:a("../../tests/test_http"),Context:a("../../tests/test_context"),Service:a("../../tests/test_service"),Examples:a("../../tests/test_examples")}}),require("/browser.test.entry.js") })(); \ No newline at end of file