commit - dca9442c1f7da187028aaaf66f2ebf7c34d6a863
commit + 717a9e7823638c994c6620883fcee2ef98da294b
blob - 158940542dafee9f573ab77e19866a464b348d17
blob + 981b6c85fc470333686a0a81cd94f54d8da819e3
--- host_test.go
+++ host_test.go
if err != nil {
t.Fatal(err)
}
- t.Log(string(p))
got := make(map[string]interface{})
if err := json.Unmarshal(p, &got); err != nil {
t.Fatal(err)
}
if !reflect.DeepEqual(want, got) {
- t.Fail()
+ t.Error("want", want, "got", got)
}
- t.Log("want", want, "got", got)
}
func TestHostUnmarshal(t *testing.T) {
want := Host{
- Name: "example.com",
+ Name: "VuS9jZ8u.example.org",
Address: "",
- Groups: []string{"example"},
+ Groups: []string{},
State: HostDown,
StateType: StateSoft,
CheckCommand: "hostalive",
- DisplayName: "example.com",
+ DisplayName: "VuS9jZ8u.example.org",
Acknowledgement: false,
}
- f, err := os.Open("testdata/hosts.json")
+ f, err := os.Open("testdata/objects/hosts/VuS9jZ8u.example.org")
if err != nil {
t.Fatal(err)
}
if err != nil {
t.Fatal(err)
}
- var got Host
- for _, r := range resp.Results {
- h := r.(Host)
- if h.Name == "example.com" {
- got = h
- break
- }
- }
+ got := resp.Results[0].(Host)
if !reflect.DeepEqual(want, got) {
- t.Fail()
+ t.Errorf("want %+v, got %+v", want, got)
}
- t.Logf("want %+v, got %+v", want, got)
}
blob - 589b4df48e8ac7c1a0e2bd753a75152e33f1dacd
blob + 66fe315b19691f68e64f8f90ba8971310d7fffbb
--- service_test.go
+++ service_test.go
)
func TestServiceUnmarshal(t *testing.T) {
- f, err := os.Open("testdata/services.json")
+ f, err := os.Open("testdata/objects/services/9p.io!http")
if err != nil {
t.Fatal(err)
}
CheckCommand: "http",
DisplayName: "http",
LastCheckResult: CheckResult{
- Output: "HTTP OK: HTTP/1.1 200 OK - 1714 bytes in 0.703 second response time ",
+ Output: "HTTP OK: HTTP/1.1 200 OK - 1714 bytes in 1.083 second response time ",
},
}
var got Service
}
}
if !reflect.DeepEqual(want, got) {
- t.Fail()
+ t.Errorf("want %+v, got %+v", want, got)
}
- t.Logf("want %+v, got %+v", want, got)
}
func TestServiceMarshal(t *testing.T) {
}
got := string(b)
if want != got {
- t.Fail()
+ t.Error("want", want, "got", got)
}
- t.Log("want", want, "got", got)
}
blob - /dev/null
blob + 7f7cfd4e0aebe84b39cce6a4b2852c1f6db1e453 (mode 644)
--- /dev/null
+++ testdata/objects/hosts/VuS9jZ8u.example.org
+{
+ "results": [
+ {
+ "attrs": {
+ "__name": "VuS9jZ8u.example.org",
+ "acknowledgement": 0,
+ "acknowledgement_expiry": 0,
+ "acknowledgement_last_change": 0,
+ "action_url": "",
+ "active": true,
+ "address": "",
+ "address6": "",
+ "check_attempt": 1,
+ "check_command": "hostalive",
+ "check_interval": 300,
+ "check_period": "",
+ "check_timeout": null,
+ "command_endpoint": "",
+ "display_name": "VuS9jZ8u.example.org",
+ "downtime_depth": 0,
+ "enable_active_checks": true,
+ "enable_event_handler": true,
+ "enable_flapping": false,
+ "enable_notifications": true,
+ "enable_passive_checks": true,
+ "enable_perfdata": true,
+ "event_command": "",
+ "executions": null,
+ "flapping": false,
+ "flapping_current": 0,
+ "flapping_ignore_states": null,
+ "flapping_last_change": 0,
+ "flapping_threshold": 0,
+ "flapping_threshold_high": 30,
+ "flapping_threshold_low": 25,
+ "force_next_check": false,
+ "force_next_notification": false,
+ "groups": [],
+ "ha_mode": 0,
+ "handled": false,
+ "icon_image": "",
+ "icon_image_alt": "",
+ "last_check": -1,
+ "last_check_result": null,
+ "last_hard_state": 1,
+ "last_hard_state_change": 1641607863.315727,
+ "last_reachable": true,
+ "last_state": 1,
+ "last_state_change": 1641607863.315727,
+ "last_state_down": 0,
+ "last_state_type": 0,
+ "last_state_unreachable": 0,
+ "last_state_up": 0,
+ "max_check_attempts": 3,
+ "name": "VuS9jZ8u.example.org",
+ "next_check": 1641614556.854738,
+ "next_update": 1641614856.854738,
+ "notes": "",
+ "notes_url": "",
+ "original_attributes": null,
+ "package": "_api",
+ "paused": false,
+ "previous_state_change": 1641607863.315727,
+ "problem": false,
+ "retry_interval": 60,
+ "severity": 16,
+ "source_location": {
+ "first_column": 0,
+ "first_line": 1,
+ "last_column": 33,
+ "last_line": 1,
+ "path": "/var/lib/icinga2/api/packages/_api/19602f4d-849c-4589-a9fe-cc1c71790f3c/conf.d/hosts/VuS9jZ8u.example.org.conf"
+ },
+ "state": 1,
+ "state_type": 0,
+ "templates": [
+ "VuS9jZ8u.example.org"
+ ],
+ "type": "Host",
+ "vars": null,
+ "version": 1641608345.032706,
+ "volatile": false,
+ "zone": "alpine.olowe.co"
+ },
+ "joins": {},
+ "meta": {},
+ "name": "VuS9jZ8u.example.org",
+ "type": "Host"
+ }
+ ]
+}
blob - /dev/null
blob + ac22c0888275fc037a4a55e539a81940cf5a34e4 (mode 644)
--- /dev/null
+++ testdata/objects/services/9p.io!http
+{
+ "results": [
+ {
+ "attrs": {
+ "__name": "9p.io!http",
+ "acknowledgement": 0,
+ "acknowledgement_expiry": 0,
+ "acknowledgement_last_change": 0,
+ "action_url": "",
+ "active": true,
+ "check_attempt": 1,
+ "check_command": "http",
+ "check_interval": 60,
+ "check_period": "",
+ "check_timeout": null,
+ "command_endpoint": "",
+ "display_name": "http",
+ "downtime_depth": 0,
+ "enable_active_checks": true,
+ "enable_event_handler": true,
+ "enable_flapping": false,
+ "enable_notifications": true,
+ "enable_passive_checks": true,
+ "enable_perfdata": true,
+ "event_command": "",
+ "executions": null,
+ "flapping": false,
+ "flapping_current": 0,
+ "flapping_ignore_states": null,
+ "flapping_last_change": 1642495283.418991,
+ "flapping_threshold": 0,
+ "flapping_threshold_high": 30,
+ "flapping_threshold_low": 25,
+ "force_next_check": false,
+ "force_next_notification": false,
+ "groups": [],
+ "ha_mode": 0,
+ "handled": true,
+ "host_name": "9p.io",
+ "icon_image": "",
+ "icon_image_alt": "",
+ "last_check": 1642496528.415804,
+ "last_check_result": {
+ "active": true,
+ "check_source": "alpine.olowe.co",
+ "command": [
+ "/usr/lib/monitoring-plugins/check_http",
+ "-I",
+ "9p.io"
+ ],
+ "execution_end": 1642496528.415702,
+ "execution_start": 1642496527.310383,
+ "exit_status": 0,
+ "output": "HTTP OK: HTTP/1.1 200 OK - 1714 bytes in 1.083 second response time ",
+ "performance_data": [
+ "time=1.082636s;;;0.000000;10.000000",
+ "size=1714B;;;0"
+ ],
+ "schedule_end": 1642496528.415804,
+ "schedule_start": 1642496527.016395,
+ "scheduling_source": "alpine.olowe.co",
+ "state": 0,
+ "ttl": 0,
+ "type": "CheckResult",
+ "vars_after": {
+ "attempt": 1,
+ "reachable": false,
+ "state": 0,
+ "state_type": 1
+ },
+ "vars_before": {
+ "attempt": 1,
+ "reachable": false,
+ "state": 0,
+ "state_type": 1
+ }
+ },
+ "last_hard_state": 0,
+ "last_hard_state_change": 1642494988.994212,
+ "last_reachable": false,
+ "last_state": 0,
+ "last_state_change": 1642494988.994212,
+ "last_state_critical": 1642494810.489733,
+ "last_state_ok": 1642496528.415702,
+ "last_state_type": 1,
+ "last_state_unknown": 1642494869.390854,
+ "last_state_unreachable": 1642496528.415702,
+ "last_state_warning": 1642494987.196548,
+ "max_check_attempts": 5,
+ "name": "http",
+ "next_check": 1642496587.835849,
+ "next_update": 1642496650.634463,
+ "notes": "",
+ "notes_url": "",
+ "original_attributes": null,
+ "package": "_etc",
+ "paused": false,
+ "previous_state_change": 1642494988.994212,
+ "problem": false,
+ "retry_interval": 30,
+ "severity": 0,
+ "source_location": {
+ "first_column": 1,
+ "first_line": 55,
+ "last_column": 20,
+ "last_line": 55,
+ "path": "/etc/icinga2/conf.d/ye.conf"
+ },
+ "state": 0,
+ "state_type": 1,
+ "templates": [
+ "http",
+ "generic-service"
+ ],
+ "type": "Service",
+ "vars": null,
+ "version": 0,
+ "volatile": false,
+ "zone": ""
+ },
+ "joins": {},
+ "meta": {},
+ "name": "9p.io!http",
+ "type": "Service"
+ }
+ ]
+}
blob - /dev/null
blob + 24d38a09aaba3202d282123dd02b26cce1d5d930 (mode 644)
--- /dev/null
+++ testdata/objects/users/test
+{
+ "results": [
+ {
+ "attrs": {
+ "__name": "test",
+ "active": true,
+ "display_name": "test",
+ "email": "test@example.com",
+ "enable_notifications": true,
+ "groups": [],
+ "ha_mode": 0,
+ "last_notification": 0,
+ "name": "test",
+ "original_attributes": null,
+ "package": "_etc",
+ "pager": "",
+ "paused": false,
+ "period": "",
+ "source_location": {
+ "first_column": 1,
+ "first_line": 56,
+ "last_column": 18,
+ "last_line": 56,
+ "path": "/etc/icinga2/conf.d/ye.conf"
+ },
+ "states": null,
+ "templates": [
+ "test"
+ ],
+ "type": "User",
+ "types": null,
+ "vars": null,
+ "version": 0,
+ "zone": ""
+ },
+ "joins": {},
+ "meta": {},
+ "name": "test",
+ "type": "User"
+ }
+ ]
+}
blob - 24d38a09aaba3202d282123dd02b26cce1d5d930 (mode 644)
blob + /dev/null
--- testdata/users.json
+++ /dev/null
-{
- "results": [
- {
- "attrs": {
- "__name": "test",
- "active": true,
- "display_name": "test",
- "email": "test@example.com",
- "enable_notifications": true,
- "groups": [],
- "ha_mode": 0,
- "last_notification": 0,
- "name": "test",
- "original_attributes": null,
- "package": "_etc",
- "pager": "",
- "paused": false,
- "period": "",
- "source_location": {
- "first_column": 1,
- "first_line": 56,
- "last_column": 18,
- "last_line": 56,
- "path": "/etc/icinga2/conf.d/ye.conf"
- },
- "states": null,
- "templates": [
- "test"
- ],
- "type": "User",
- "types": null,
- "vars": null,
- "version": 0,
- "zone": ""
- },
- "joins": {},
- "meta": {},
- "name": "test",
- "type": "User"
- }
- ]
-}
blob - 3a95ff592e00bab4eecd60fbd241a469c224e6c4
blob + 9b67b01b2c6089f55ee6c002f992a2b07d971139
--- user_test.go
+++ user_test.go
func TestUser(t *testing.T) {
want := User{Name: "test", Email: "test@example.com", Groups: []string{}}
- f, err := os.Open("testdata/users.json")
+ f, err := os.Open("testdata/objects/users/test")
if err != nil {
t.Fatal(err)
}