Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

generate_secret_test.go 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package cli_test
  2. import (
  3. "strings"
  4. "testing"
  5. "github.com/9seconds/mtg/v2/mtglib"
  6. "github.com/9seconds/mtg/v2/testlib"
  7. "github.com/stretchr/testify/suite"
  8. )
  9. type GenerateSecretTestSuite struct {
  10. CommonTestSuite
  11. }
  12. func (suite *GenerateSecretTestSuite) SetupTest() {
  13. suite.CommonTestSuite.SetupTest()
  14. suite.cli.GenerateSecret.HostName = "google.com"
  15. }
  16. func (suite *GenerateSecretTestSuite) TestDefault() {
  17. output := testlib.CaptureStdout(func() {
  18. suite.NoError(suite.cli.GenerateSecret.Run(suite.cli, "dev"))
  19. })
  20. suite.True(strings.HasPrefix(output, "7"))
  21. secret, err := mtglib.ParseSecret(output)
  22. suite.NoError(err)
  23. suite.True(secret.Valid())
  24. suite.Equal("google.com", secret.Host)
  25. }
  26. func (suite *GenerateSecretTestSuite) TestHex() {
  27. suite.cli.GenerateSecret.Hex = true
  28. output := testlib.CaptureStdout(func() {
  29. suite.NoError(suite.cli.GenerateSecret.Run(suite.cli, "dev"))
  30. })
  31. suite.True(strings.HasPrefix(output, "ee"))
  32. secret, err := mtglib.ParseSecret(output)
  33. suite.NoError(err)
  34. suite.True(secret.Valid())
  35. suite.Equal("google.com", secret.Host)
  36. }
  37. func TestGenerateSecret(t *testing.T) {
  38. t.Parallel()
  39. suite.Run(t, &GenerateSecretTestSuite{})
  40. }