diff --git a/tests/common/alarm_test.go b/tests/common/alarm_test.go index bb66fd727c1..9873743c2ff 100644 --- a/tests/common/alarm_test.go +++ b/tests/common/alarm_test.go @@ -48,7 +48,7 @@ func TestAlarm(t *testing.T) { } // quota alarm should now be on - alarmResp, err := clus.Client().Alarm("list", nil) + alarmResp, err := clus.Client().AlarmList() if err != nil { t.Fatalf("alarmTest: Alarm error (%v)", err) } @@ -85,11 +85,11 @@ func TestAlarm(t *testing.T) { // turn off alarm for _, alarm := range alarmResp.Alarms { - m := &clientv3.AlarmMember{ + alarmMember := &clientv3.AlarmMember{ MemberID: alarm.MemberID, Alarm: alarm.Alarm, } - _, err = clus.Client().Alarm("disarm", m) + _, err = clus.Client().AlarmDisarm(alarmMember) if err != nil { t.Fatalf("alarmTest: Alarm error (%v)", err) } diff --git a/tests/framework/e2e/etcdctl.go b/tests/framework/e2e/etcdctl.go index 25ea0eaf18b..dd5f57e3502 100644 --- a/tests/framework/e2e/etcdctl.go +++ b/tests/framework/e2e/etcdctl.go @@ -344,9 +344,25 @@ func (ctl *EtcdctlV3) LeaseRevoke(id clientv3.LeaseID) (*clientv3.LeaseRevokeRes return &resp, err } -func (ctl *EtcdctlV3) Alarm(cmd string, _ *clientv3.AlarmMember) (*clientv3.AlarmResponse, error) { +func (ctl *EtcdctlV3) AlarmList() (*clientv3.AlarmResponse, error) { args := ctl.cmdArgs() - args = append(args, "alarm", cmd, "-w", "json") + args = append(args, "alarm", "list", "-w", "json") + ep, err := SpawnCmd(args, nil) + if err != nil { + return nil, err + } + var resp clientv3.AlarmResponse + line, err := ep.Expect("alarm") + if err != nil { + return nil, err + } + err = json.Unmarshal([]byte(line), &resp) + return &resp, err +} + +func (ctl *EtcdctlV3) AlarmDisarm(_ *clientv3.AlarmMember) (*clientv3.AlarmResponse, error) { + args := ctl.cmdArgs() + args = append(args, "alarm", "disarm", "-w", "json") ep, err := SpawnCmd(args, nil) if err != nil { return nil, err diff --git a/tests/framework/integration.go b/tests/framework/integration.go index 4ce431ff9dc..f5867da4633 100644 --- a/tests/framework/integration.go +++ b/tests/framework/integration.go @@ -164,12 +164,12 @@ func (c integrationClient) Compact(rev int64, o config.CompactOption) (*clientv3 return c.Client.Compact(ctx, rev, clientOpts...) } -func (c integrationClient) Alarm(cmd string, member *clientv3.AlarmMember) (*clientv3.AlarmResponse, error) { - ctx := context.Background() - if cmd == "list" { - return c.Client.AlarmList(ctx) - } - return c.Client.AlarmDisarm(ctx, member) +func (c integrationClient) AlarmList() (*clientv3.AlarmResponse, error) { + return c.Client.AlarmList(context.Background()) +} + +func (c integrationClient) AlarmDisarm(alarmMember *clientv3.AlarmMember) (*clientv3.AlarmResponse, error) { + return c.Client.AlarmDisarm(context.Background(), alarmMember) } func (c integrationClient) Status() ([]*clientv3.StatusResponse, error) { diff --git a/tests/framework/interface.go b/tests/framework/interface.go index 2864a22c6b4..8460483dd57 100644 --- a/tests/framework/interface.go +++ b/tests/framework/interface.go @@ -41,7 +41,8 @@ type Client interface { HashKV(rev int64) ([]*clientv3.HashKVResponse, error) Health() error Defragment(opts config.DefragOption) error - Alarm(cmd string, member *clientv3.AlarmMember) (*clientv3.AlarmResponse, error) + AlarmList() (*clientv3.AlarmResponse, error) + AlarmDisarm(alarmMember *clientv3.AlarmMember) (*clientv3.AlarmResponse, error) Grant(ttl int64) (*clientv3.LeaseGrantResponse, error) TimeToLive(id clientv3.LeaseID, opts config.LeaseOption) (*clientv3.LeaseTimeToLiveResponse, error) LeaseList() (*clientv3.LeaseLeasesResponse, error)