Skip to content

Commit f0fce4f

Browse files
committed
Add support for Verify retrieval and deletion.
See: #51
1 parent b6c60a2 commit f0fce4f

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

verify/verify.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,22 @@ func Create(c *messagebird.Client, recipient string, params *Params) (*Verify, e
6767
return verify, nil
6868
}
6969

70+
// Delete deletes an existing Verify object by its ID.
71+
func Delete(c *messagebird.Client, id string) error {
72+
return c.Request(nil, http.MethodDelete, path+"/"+id, nil)
73+
}
74+
75+
// Read retrieves an existing Verify object by its ID.
76+
func Read(c *messagebird.Client, id string) (*Verify, error) {
77+
verify := &Verify{}
78+
79+
if err := c.Request(verify, http.MethodGet, path+"/"+id, nil); err != nil {
80+
return nil, err
81+
}
82+
83+
return verify, nil
84+
}
85+
7086
// VerifyToken performs token value check against MessageBird API.
7187
func VerifyToken(c *messagebird.Client, id, token string) (*Verify, error) {
7288
params := &url.Values{}

verify/verify_test.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,33 @@ func TestCreate(t *testing.T) {
6666
assertVerifyObject(t, v)
6767
}
6868

69+
func TestDelete(t *testing.T) {
70+
mbtest.WillReturn([]byte(""), http.StatusNoContent)
71+
client := mbtest.Client(t)
72+
73+
if err := Delete(client, "15498233759288aaf929661v21936686"); err != nil {
74+
t.Fatalf("unexpected error deleting Verify: %s", err)
75+
}
76+
77+
mbtest.AssertEndpointCalled(t, http.MethodDelete, "/verify/15498233759288aaf929661v21936686")
78+
}
79+
80+
func TestRead(t *testing.T) {
81+
mbtest.WillReturnTestdata(t, "verifyObject.json", http.StatusOK)
82+
client := mbtest.Client(t)
83+
84+
v, err := Read(client, "15498233759288aaf929661v21936686")
85+
if err != nil {
86+
t.Fatalf("unexpected error reading Verify: %s", err)
87+
}
88+
89+
if v.ID != "15498233759288aaf929661v21936686" {
90+
t.Fatalf("got %s, expected 15498233759288aaf929661v21936686", v.ID)
91+
}
92+
93+
mbtest.AssertEndpointCalled(t, http.MethodGet, "/verify/15498233759288aaf929661v21936686")
94+
}
95+
6996
func TestVerifyToken(t *testing.T) {
7097
mbtest.WillReturnTestdata(t, "verifyTokenObject.json", http.StatusOK)
7198
client := mbtest.Client(t)

0 commit comments

Comments
 (0)