mirror of
https://github.com/makayabou/asg-server.git
synced 2026-05-02 17:43:36 +02:00
[messages] add unit tests
This commit is contained in:
parent
11bdf0e033
commit
8cdb4a1d13
86
internal/sms-gateway/handlers/converters/messages_test.go
Normal file
86
internal/sms-gateway/handlers/converters/messages_test.go
Normal file
@ -0,0 +1,86 @@
|
||||
package converters_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/android-sms-gateway/client-go/smsgateway"
|
||||
"github.com/android-sms-gateway/server/internal/sms-gateway/handlers/converters"
|
||||
"github.com/android-sms-gateway/server/internal/sms-gateway/modules/messages"
|
||||
"github.com/capcom6/go-helpers/anys"
|
||||
"github.com/go-playground/assert/v2"
|
||||
)
|
||||
|
||||
func TestMessageToDTO(t *testing.T) {
|
||||
// Set up a fixed time for testing
|
||||
now := time.Now().UTC()
|
||||
|
||||
// Define test cases
|
||||
tests := []struct {
|
||||
name string
|
||||
input messages.MessageOut
|
||||
expected smsgateway.MobileMessage
|
||||
}{
|
||||
{
|
||||
name: "Full message with all fields",
|
||||
input: messages.MessageOut{
|
||||
MessageIn: messages.MessageIn{
|
||||
ID: "msg-123",
|
||||
Message: "Test message content",
|
||||
PhoneNumbers: []string{"+1234567890", "+9876543210"},
|
||||
IsEncrypted: true,
|
||||
SimNumber: anys.AsPointer(uint8(2)),
|
||||
WithDeliveryReport: anys.AsPointer(true),
|
||||
TTL: anys.AsPointer(uint64(3600)),
|
||||
ValidUntil: anys.AsPointer(now.Add(24 * time.Hour)),
|
||||
Priority: 100,
|
||||
},
|
||||
CreatedAt: now,
|
||||
},
|
||||
expected: smsgateway.MobileMessage{
|
||||
Message: smsgateway.Message{
|
||||
ID: "msg-123",
|
||||
Message: "Test message content",
|
||||
PhoneNumbers: []string{"+1234567890", "+9876543210"},
|
||||
IsEncrypted: true,
|
||||
SimNumber: anys.AsPointer(uint8(2)),
|
||||
WithDeliveryReport: anys.AsPointer(true),
|
||||
TTL: anys.AsPointer(uint64(3600)),
|
||||
ValidUntil: anys.AsPointer(now.Add(24 * time.Hour)),
|
||||
Priority: 100,
|
||||
},
|
||||
CreatedAt: now,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "Minimal message with required fields only",
|
||||
input: messages.MessageOut{
|
||||
MessageIn: messages.MessageIn{
|
||||
ID: "msg-456",
|
||||
Message: "Another test message",
|
||||
PhoneNumbers: []string{"+1122334455"},
|
||||
},
|
||||
CreatedAt: now,
|
||||
},
|
||||
expected: smsgateway.MobileMessage{
|
||||
Message: smsgateway.Message{
|
||||
ID: "msg-456",
|
||||
Message: "Another test message",
|
||||
PhoneNumbers: []string{"+1122334455"},
|
||||
},
|
||||
CreatedAt: now,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
// Execute tests
|
||||
for _, tc := range tests {
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
// Call the function under test
|
||||
result := converters.MessageToDTO(tc.input)
|
||||
|
||||
// Assert the results
|
||||
assert.Equal(t, tc.expected, result)
|
||||
})
|
||||
}
|
||||
}
|
||||
28
test/e2e/clients_test.go
Normal file
28
test/e2e/clients_test.go
Normal file
@ -0,0 +1,28 @@
|
||||
package e2e
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/go-resty/resty/v2"
|
||||
)
|
||||
|
||||
const (
|
||||
PublicURL = "http://localhost:3000/api"
|
||||
PrivateURL = "http://localhost:3001/api"
|
||||
)
|
||||
|
||||
var (
|
||||
publicMobileClient = resty.New().
|
||||
SetBaseURL(PublicURL + "/mobile/v1").
|
||||
SetTimeout(300 * time.Millisecond)
|
||||
privateMobileClient = resty.New().
|
||||
SetBaseURL(PrivateURL + "/mobile/v1").
|
||||
SetTimeout(300 * time.Millisecond)
|
||||
|
||||
publicUserClient = resty.New().
|
||||
SetBaseURL(PublicURL + "/3rdparty/v1").
|
||||
SetTimeout(300 * time.Millisecond)
|
||||
privateUserClient = resty.New().
|
||||
SetBaseURL(PrivateURL + "/3rdparty/v1").
|
||||
SetTimeout(300 * time.Millisecond)
|
||||
)
|
||||
Loading…
x
Reference in New Issue
Block a user