@@ -0,0 +1,26 @@
|
||||
package web
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestExtractTicketID(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
body string
|
||||
want int64
|
||||
}{
|
||||
{name: "explicit ticket id", body: `{"ticket_id":42}`, want: 42},
|
||||
{name: "camel case ticket id", body: `{"ticketId":"43"}`, want: 43},
|
||||
{name: "typed ticket", body: `{"itemtype":"Ticket","id":44}`, want: 44},
|
||||
{name: "nested ticket", body: `{"ticket":{"id":45}}`, want: 45},
|
||||
{name: "ticket url", body: `{"url":"https://glpi.example/api.php/v2.3/Assistance/Ticket/46"}`, want: 46},
|
||||
{name: "unrelated generic id", body: `{"itemtype":"User","id":99}`, want: 0},
|
||||
{name: "wrapped unrelated generic id", body: `{"data":{"id":100}}`, want: 0},
|
||||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if got := extractTicketID([]byte(tt.body)); got != tt.want {
|
||||
t.Fatalf("extractTicketID() = %d, want %d", got, tt.want)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user