161 lines
3.0 KiB
Plaintext
161 lines
3.0 KiB
Plaintext
(**
|
|
*
|
|
* This module is used to test the Splunk module for valid extractions.
|
|
* Written by Tim Brigham.
|
|
* This file is licensed under the LGPLv2+, like the rest of Augeas.
|
|
**)
|
|
|
|
module Test_splunk =
|
|
|
|
(** inputs.conf **)
|
|
|
|
let inputs = "[default]
|
|
host = splunk-node-1.example.com
|
|
enable_autocomplete_login = False
|
|
_meta = metakey::metaval foo::bar
|
|
|
|
[udp://514]
|
|
connection_host = none
|
|
source = test
|
|
sourcetype = syslog
|
|
|
|
"
|
|
test Splunk.lns get inputs =
|
|
{ "target" = "default"
|
|
{ "host" = "splunk-node-1.example.com" }
|
|
{ "enable_autocomplete_login" = "False" }
|
|
{ "_meta" = "metakey::metaval foo::bar" }
|
|
{}}
|
|
{ "target" = "udp://514"
|
|
{ "connection_host" = "none" }
|
|
{ "source" = "test" }
|
|
{ "sourcetype" = "syslog" }
|
|
{}}
|
|
|
|
|
|
(** web.conf **)
|
|
let web = "[settings]
|
|
enableSplunkWebSSL = 1
|
|
enable_autocomplete_login = False
|
|
"
|
|
|
|
|
|
test Splunk.lns get web =
|
|
{ "target" = "settings"
|
|
{ "enableSplunkWebSSL" = "1" }
|
|
{ "enable_autocomplete_login" = "False" }
|
|
}
|
|
|
|
|
|
|
|
(** props.conf **)
|
|
|
|
let props = "[splunkd_stdout]
|
|
PREFIX_SOURCETYPE = False
|
|
SHOULD_LINEMERGE = False
|
|
is_valid = False
|
|
maxDist = 99
|
|
|
|
"
|
|
|
|
test Splunk.lns get props =
|
|
{
|
|
"target" = "splunkd_stdout"
|
|
{ "PREFIX_SOURCETYPE" = "False" }
|
|
{ "SHOULD_LINEMERGE" = "False" }
|
|
{ "is_valid" = "False" }
|
|
{ "maxDist" = "99" }
|
|
{}}
|
|
|
|
(** tenants.conf **)
|
|
let tenants = "[tenant:default]
|
|
whitelist.0 = *
|
|
"
|
|
|
|
test Splunk.lns get tenants =
|
|
{ "target" = "tenant:default"
|
|
{ "whitelist.0" = "*" }
|
|
}
|
|
|
|
|
|
|
|
let server = "[license]
|
|
active_group = Free
|
|
master_uri = https://myserver.mydomain.com:8089
|
|
|
|
[general]
|
|
serverName = splunk-node-1
|
|
trustedIP = 127.0.0.1
|
|
guid = XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXXXXXXXX
|
|
|
|
[sslConfig]
|
|
sslKeysfilePassword = $1$XX2X4XX6XXXXXXXXX
|
|
|
|
"
|
|
|
|
test Splunk.lns get server =
|
|
{ "target" = "license"
|
|
{ "active_group" = "Free" }
|
|
{ "master_uri" = "https://myserver.mydomain.com:8089" }
|
|
{}}
|
|
{ "target" = "general"
|
|
{ "serverName" = "splunk-node-1" }
|
|
{ "trustedIP" = "127.0.0.1" }
|
|
{ "guid" = "XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXX-XXXXXXXXXXXXX" }
|
|
{}}
|
|
{ "target" = "sslConfig"
|
|
{ "sslKeysfilePassword" = "$1$XX2X4XX6XXXXXXXXX" }
|
|
{}}
|
|
|
|
|
|
(* test anonymous attributes *)
|
|
let anon = "
|
|
# master
|
|
serverName = splunk-node-1
|
|
|
|
# slave
|
|
serverName = splunk-node-2
|
|
|
|
[general]
|
|
serverName = splunk-node-3
|
|
|
|
"
|
|
|
|
test Splunk.lns get anon =
|
|
{ ".anon"
|
|
{ }
|
|
{ "#comment" = "master" }
|
|
{ "serverName" = "splunk-node-1" }
|
|
{ }
|
|
{ "#comment" = "slave" }
|
|
{ "serverName" = "splunk-node-2" }
|
|
{ }
|
|
}
|
|
{ "target" = "general"
|
|
{ "serverName" = "splunk-node-3" }
|
|
{ }
|
|
}
|
|
|
|
|
|
(* test empty value entry *)
|
|
|
|
let override = "
|
|
[general]
|
|
# normal entry
|
|
foo = bar
|
|
# override entry
|
|
foo =
|
|
"
|
|
|
|
test Splunk.lns get override =
|
|
{ ".anon"
|
|
{ }
|
|
}
|
|
{ "target" = "general"
|
|
{ "#comment" = "normal entry" }
|
|
{ "foo" = "bar" }
|
|
{ "#comment" = "override entry" }
|
|
{ "foo" }
|
|
}
|
|
|