Skip to content
This repository has been archived by the owner on Feb 13, 2024. It is now read-only.

Commit

Permalink
Adding randomize id for channel ✨
Browse files Browse the repository at this point in the history
  • Loading branch information
fairyhunter13 committed Oct 27, 2020
1 parent 8c48f33 commit bd0b643
Showing 1 changed file with 43 additions and 26 deletions.
69 changes: 43 additions & 26 deletions pkg/matchers/config_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
package matchers

import (
"flag"
"math/rand"
"os"
"strings"
"testing"
"time"

"ktbs.dev/teler/pkg/errors"
)
Expand All @@ -17,21 +22,21 @@ func TestIsLogformat(t *testing.T) {
}{
{
name: "Invalid log format",
args: args {
args: args{
s: "",
},
wantErr: true,
},
{
name: "Invalid log format: need $ sign",
args: args {
args: args{
s: "remote_addr",
},
wantErr: true,
},
{
name: "Log format is valid",
args: args {
args: args{
s: "$request_method",
},
wantErr: false,
Expand Down Expand Up @@ -62,21 +67,21 @@ func TestIsToken(t *testing.T) {
}{
{
name: "Invalid token",
args: args {
args: args{
s: "hola",
},
wantErr: true,
},
{
name: "Token is valid",
args: args {
args: args{
s: "xoxp-0123456789-012345678901-y",
},
wantErr: false,
},
{
name: "Token is valid",
args: args {
args: args{
s: "012345678:abcdefghijklmnopqrstuvwxyz012345678",
},
wantErr: false,
Expand Down Expand Up @@ -107,21 +112,21 @@ func TestIsHexcolor(t *testing.T) {
}{
{
name: "Invalid hex color code",
args: args {
args: args{
s: "\u2713",
},
wantErr: true,
},
{
name: "Invalid hex color code",
args: args {
args: args{
s: "#af01",
},
wantErr: true,
},
{
name: "Hex color code is valid",
args: args {
args: args{
s: "#F00000",
},
wantErr: false,
Expand Down Expand Up @@ -152,35 +157,35 @@ func TestIsParseMode(t *testing.T) {
}{
{
name: "Invalid Telegram parse_mode, only accept: Markdown, MarkdownV2 & HTML (case-sensitive)",
args: args {
args: args{
s: "Latex",
},
wantErr: true,
},
{
name: "Telegram parse_mode is valid",
args: args {
args: args{
s: "Markdown",
},
wantErr: false,
},
{
name: "Invalid parse_mode, only accept: Markdown, MarkdownV2 & HTML (case-sensitive)",
args: args {
args: args{
s: "html",
},
wantErr: true,
},
{
name: "parse_mode is valid",
args: args {
args: args{
s: "MarkdownV2",
},
wantErr: false,
},
{
name: "parse_mode is valid",
args: args {
args: args{
s: "HTML",
},
wantErr: false,
Expand All @@ -200,6 +205,25 @@ func TestIsParseMode(t *testing.T) {
}
}

func TestMain(m *testing.M) {
flag.Parse()
rand.Seed(time.Now().UTC().UnixNano())
os.Exit(m.Run())
}

func randomChannelID() string {
numStr := "0123456789"
minLn := 9
maxLn := 13
ln := minLn + rand.Intn(maxLn-minLn)
lenNum := len(numStr)
var res strings.Builder
for i := 1; i <= ln; i++ {
res.WriteByte(numStr[rand.Intn(lenNum)])
}
return res.String()
}

func TestIsChannel(t *testing.T) {
type args struct {
s string
Expand All @@ -211,22 +235,15 @@ func TestIsChannel(t *testing.T) {
}{
{
name: "Invalid Slack channel ID",
args: args {
args: args{
s: "hola",
},
wantErr: true,
},
{
name: "Invalid Slack channel ID",
args: args {
s: "kitabisa13",
},
wantErr: true,
},
{
name: "Slack channel ID is valid",
args: args {
s: "KITABISA13",
args: args{
s: randomChannelID(),
},
wantErr: false,
},
Expand Down Expand Up @@ -256,14 +273,14 @@ func TestIsChatID(t *testing.T) {
}{
{
name: "Invalid Telegram chat_id",
args: args {
args: args{
s: "hola",
},
wantErr: true,
},
{
name: "Telegram chat_id is valid",
args: args {
args: args{
s: "12345678",
},
wantErr: false,
Expand Down

0 comments on commit bd0b643

Please sign in to comment.