github.com/diamondburned/arikawa/v2@v2.1.0/api/integration_test.go (about) 1 package api 2 3 import ( 4 "fmt" 5 "log" 6 "testing" 7 "time" 8 9 "github.com/diamondburned/arikawa/v2/discord" 10 "github.com/diamondburned/arikawa/v2/internal/testenv" 11 ) 12 13 func TestIntegration(t *testing.T) { 14 cfg := testenv.Must(t) 15 16 client := NewClient("Bot " + cfg.BotToken) 17 18 // Simple GET request 19 u, err := client.Me() 20 if err != nil { 21 t.Fatal("Can't get self:", err) 22 } 23 24 log.Println("API user:", u.Username) 25 26 // POST with URL param and paginator 27 _, err = client.Guilds(100) 28 if err != nil { 29 t.Fatal("Can't get guilds:", err) 30 } 31 } 32 33 var emojisToSend = [...]discord.APIEmoji{ 34 "π₯Ί", 35 "β€", 36 "π", 37 "π₯°", 38 "π", 39 "π₯", 40 "β", 41 "π", 42 "π", 43 "π»", 44 "π€―", 45 "π£", 46 "π", 47 "π", 48 "π―π΅", 49 "π₯", 50 "πΊπΈ", 51 "π", 52 } 53 54 func TestReactions(t *testing.T) { 55 cfg := testenv.Must(t) 56 57 client := NewClient("Bot " + cfg.BotToken) 58 59 msg := fmt.Sprintf("This is a message sent at %v.", time.Now()) 60 61 // Send a new message. 62 m, err := client.SendMessage(cfg.ChannelID, msg, nil) 63 if err != nil { 64 t.Fatal("Failed to send message:", err) 65 } 66 67 now := time.Now() 68 69 for _, emojiString := range emojisToSend { 70 if err := client.React(cfg.ChannelID, m.ID, emojiString); err != nil { 71 t.Fatal("Failed to send emoji "+emojiString+":", err) 72 } 73 } 74 75 msg += fmt.Sprintf(" Total time taken to send all reactions: %v.", time.Now().Sub(now)) 76 77 m, err = client.EditMessage(cfg.ChannelID, m.ID, msg, nil, false) 78 if err != nil { 79 t.Fatal("Failed to edit message:", err) 80 } 81 }