|
| 1 | +package main |
| 2 | + |
| 3 | +import ( |
| 4 | + "encoding/json" |
| 5 | + "github-telegram-notify/types" |
| 6 | + "github-telegram-notify/utils" |
| 7 | + "io/ioutil" |
| 8 | + "os" |
| 9 | + "testing" |
| 10 | + |
| 11 | + dotenv "github.com/joho/godotenv" |
| 12 | +) |
| 13 | + |
| 14 | +func loadEnvs(t *testing.T) (string, string) { |
| 15 | + err := dotenv.Load() |
| 16 | + if err != nil { |
| 17 | + t.Fatal("Error loading .env file") |
| 18 | + } |
| 19 | + tg_token := os.Getenv("BOT_TOKEN") |
| 20 | + if tg_token == "" { |
| 21 | + t.Fatal("Bot token not specified in .env file") |
| 22 | + } |
| 23 | + chatID := os.Getenv("CHAT_ID") |
| 24 | + if chatID == "" { |
| 25 | + t.Fatal("Chat ID not specified in .env file") |
| 26 | + } |
| 27 | + return tg_token, chatID |
| 28 | +} |
| 29 | + |
| 30 | +func parse(t *testing.T, rawData []byte) (string, string, string) { |
| 31 | + var gitEvent *types.Metadata |
| 32 | + err := json.Unmarshal([]byte(rawData), &gitEvent) |
| 33 | + if err != nil { |
| 34 | + t.Fatal(err) |
| 35 | + } |
| 36 | + |
| 37 | + text, markupText, markupUrl, err := utils.CreateContents(gitEvent) |
| 38 | + if err != nil { |
| 39 | + t.Fatal(err) |
| 40 | + } |
| 41 | + return text, markupText, markupUrl |
| 42 | +} |
| 43 | + |
| 44 | +func TestCommitMessage(t *testing.T) { |
| 45 | + token, chatID := loadEnvs(t) |
| 46 | + data, err := ioutil.ReadFile("events/commit.json") |
| 47 | + if err != nil { |
| 48 | + t.Fatal(err) |
| 49 | + } |
| 50 | + text, markupText, markupUrl := parse(t, data) |
| 51 | + error := utils.SendMessage(token, chatID, text, markupText, markupUrl) |
| 52 | + if error.Description != "" { |
| 53 | + t.Fatal(error.String()) |
| 54 | + } |
| 55 | +} |
0 commit comments