mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 10:54:02 +03:00
Add a real integration test
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package mtglib_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"encoding/hex"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
@@ -16,6 +18,9 @@ import (
|
||||
"github.com/9seconds/mtg/v2/logger"
|
||||
"github.com/9seconds/mtg/v2/mtglib"
|
||||
"github.com/9seconds/mtg/v2/network"
|
||||
"github.com/gotd/td/telegram"
|
||||
"github.com/gotd/td/telegram/dcs"
|
||||
"github.com/gotd/td/tg"
|
||||
"github.com/stretchr/testify/suite"
|
||||
)
|
||||
|
||||
@@ -51,6 +56,7 @@ func (suite *ProxyTestSuite) SetupSuite() {
|
||||
IPBlocklist: ipblocklist.NewNoop(),
|
||||
EventStream: events.NewNoopStream(),
|
||||
Logger: logger.NewNoopLogger(),
|
||||
UseTestDCs: true,
|
||||
}
|
||||
|
||||
proxy, err := mtglib.NewProxy(*suite.opts)
|
||||
@@ -168,6 +174,32 @@ func (suite *ProxyTestSuite) TestHTTPSRequest() {
|
||||
suite.NotEmpty(jsonStruct.Headers.TraceID)
|
||||
}
|
||||
|
||||
func (suite *ProxyTestSuite) TestMakeRealRequest() {
|
||||
secret, _ := hex.DecodeString(suite.opts.Secret.Hex())
|
||||
resolver, err := dcs.MTProxyResolver(
|
||||
suite.ProxyAddress(),
|
||||
secret,
|
||||
dcs.MTProxyOptions{},
|
||||
)
|
||||
suite.NoError(err)
|
||||
|
||||
tgClient := telegram.NewClient(telegram.TestAppID,
|
||||
telegram.TestAppHash,
|
||||
telegram.Options{
|
||||
Resolver: resolver,
|
||||
})
|
||||
|
||||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
|
||||
defer cancel()
|
||||
|
||||
suite.NoError(tgClient.Run(ctx, func(ctx context.Context) error {
|
||||
_, err := tg.NewClient(tgClient).HelpGetConfig(ctx)
|
||||
suite.NoError(err)
|
||||
|
||||
return err // nolint: wrapcheck
|
||||
}))
|
||||
}
|
||||
|
||||
func TestProxy(t *testing.T) {
|
||||
t.Parallel()
|
||||
suite.Run(t, &ProxyTestSuite{})
|
||||
|
||||
Reference in New Issue
Block a user