github.com/vmware/govmomi@v0.43.0/govc/test/alarms.bats (about)

     1  #!/usr/bin/env bats
     2  
     3  load test_helper
     4  
     5  @test "alarms" {
     6    vcsim_env
     7  
     8    run govc alarms
     9    assert_success
    10  
    11    run govc alarms -d
    12    assert_success
    13  
    14    vm=/DC0/vm/DC0_H0_VM0
    15  
    16    run govc alarms $vm
    17    assert_success
    18  
    19    run govc object.collect -s $vm triggeredAlarmState
    20    assert_success "" # empty
    21  
    22    run env GOVC_SHOW_UNRELEASED=true govc event.post -s info -i vcsim.vm.success $vm
    23    assert_success
    24  
    25    run govc alarms $vm
    26    assert_success
    27    [ ${#lines[@]} -eq 1 ] # header only, no alarm triggered
    28  
    29    run env GOVC_SHOW_UNRELEASED=true govc event.post -s warning -i vcsim.vm.failure $vm
    30    assert_success
    31  
    32    run govc alarms $vm
    33    assert_success
    34    assert_matches "Warning"
    35  
    36    run govc alarms -l $vm
    37    assert_success
    38  
    39    run govc alarms -json $vm
    40    assert_success
    41    alarms="$output"
    42    run jq -r .[].event.eventTypeId <<<"$alarms"
    43    assert_success "vcsim.vm.failure"
    44  
    45    run govc object.collect -json -s $vm triggeredAlarmState
    46    assert_success
    47    state="$output"
    48    run jq -r .[].overallStatus <<<"$state"
    49    assert_success "yellow"
    50    run jq -r .[].acknowledged <<<"$state"
    51    assert_success "false"
    52  
    53    run govc alarms -ack
    54    assert_success
    55  
    56    run govc object.collect -json -s $vm triggeredAlarmState
    57    assert_success
    58    state="$output"
    59    run jq -r .[].overallStatus <<<"$state"
    60    assert_success "yellow"
    61    run jq -r .[].acknowledged <<<"$state"
    62    assert_success "true"
    63  
    64    run env GOVC_SHOW_UNRELEASED=true govc event.post -s info -i vcsim.vm.success $vm
    65    assert_success
    66  
    67    run govc object.collect -s $vm triggeredAlarmState
    68    assert_success "" # empty
    69  
    70    run govc object.collect -s / triggeredAlarmState
    71    assert_success "" # empty
    72  }
    73  
    74  @test "alarm.info" {
    75    vcsim_env
    76  
    77    run govc alarm.info
    78    assert_success
    79  
    80    run govc alarm.info -n alarm.VmErrorAlarm
    81    assert_success
    82    assert_matches "Virtual machine error"
    83  
    84    run govc alarm.info -n invalid
    85    assert_success ""
    86  }
    87  
    88  @test "alarm -esx" {
    89    vcsim_env -esx
    90  
    91    run govc object.collect -s - content.alarmManager
    92    assert_success "" # empty, no AlarmManager
    93  
    94    run govc alarm.info
    95    assert_failure # not supported
    96  }
    97  
    98  @test "alarm.create" {
    99    vcsim_env
   100  
   101    export GOVC_SHOW_UNRELEASED=true
   102  
   103    run govc alarm.create -n "My Alarm" -green my.alarm.success -yellow my.alarm.failure
   104    assert_success
   105    id="$output"
   106  
   107    self=$(govc alarm.info -json -n "My Alarm" | jq -r .[].self.value)
   108    assert_equal "$id" "$self"
   109  
   110    run govc alarm.info -n "My Alarm"
   111    assert_success
   112  
   113    run govc alarm.create -n "My Alarm"
   114    assert_failure # DuplicateName
   115  
   116    run govc alarm.create -n "My Alarm" -r -d "This is my alarm description"
   117    assert_success
   118  
   119    run govc alarm.rm "$id"
   120    assert_success
   121  
   122    run govc alarm.rm "$id"
   123    assert_failure
   124  
   125    run govc alarm.info -n "My Alarm"
   126    assert_success ""
   127  }