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
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

generate_secret_test.go 1.1KB

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