Compare commits
5 Commits
4419260cd0
...
b02c141000
Author | SHA1 | Date |
---|---|---|
CPunch | b02c141000 | |
CPunch | 5b78c3dbd4 | |
CPunch | d31723e245 | |
CPunch | bb50948935 | |
CPunch | d32facf363 |
|
@ -0,0 +1,22 @@
|
|||
name: Go
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- ./**.go
|
||||
- go.mod
|
||||
- go.sum
|
||||
- .github/workflows/tests.yaml
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Setup Go
|
||||
uses: actions/setup-go@v4
|
||||
with:
|
||||
go-version: '1.21.x'
|
||||
- name: Test with the Go CLI
|
||||
run: go test -v ./...
|
|
@ -1,16 +1,17 @@
|
|||
package db
|
||||
package db_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
"github.com/CPunch/gopenfusion/internal/db"
|
||||
"github.com/CPunch/gopenfusion/internal/protocol"
|
||||
"github.com/bitcomplete/sqltestutil"
|
||||
)
|
||||
|
||||
var (
|
||||
testDB *DBHandler
|
||||
testDB *db.DBHandler
|
||||
)
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
|
@ -21,7 +22,7 @@ func TestMain(m *testing.M) {
|
|||
}
|
||||
defer psql.Shutdown(ctx)
|
||||
|
||||
testDB, err = OpenFromConnectionString("postgres", psql.ConnectionString()+"?sslmode=disable")
|
||||
testDB, err = db.OpenFromConnectionString("postgres", psql.ConnectionString()+"?sslmode=disable")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
@ -49,7 +50,7 @@ func TestDBAccount(t *testing.T) {
|
|||
t.Error("account username is not test")
|
||||
}
|
||||
|
||||
if _, err = testDB.TryLogin("test", "wrongpassword"); err != ErrLoginInvalidPassword {
|
||||
if _, err = testDB.TryLogin("test", "wrongpassword"); err != db.ErrLoginInvalidPassword {
|
||||
t.Error("expected ErrLoginInvalidPassword")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,40 @@
|
|||
package entity_test
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/CPunch/gopenfusion/internal/entity"
|
||||
)
|
||||
|
||||
func TestChunkSliceDifference(t *testing.T) {
|
||||
chunks := []*entity.Chunk{
|
||||
entity.NewChunk(entity.MakeChunkPosition(0, 0)),
|
||||
entity.NewChunk(entity.MakeChunkPosition(0, 1)),
|
||||
entity.NewChunk(entity.MakeChunkPosition(1, 0)),
|
||||
entity.NewChunk(entity.MakeChunkPosition(1, 1)),
|
||||
}
|
||||
|
||||
c1 := []*entity.Chunk{
|
||||
chunks[0],
|
||||
chunks[1],
|
||||
chunks[2],
|
||||
chunks[3],
|
||||
}
|
||||
|
||||
c2 := []*entity.Chunk{
|
||||
chunks[0],
|
||||
chunks[1],
|
||||
chunks[2],
|
||||
}
|
||||
|
||||
diff := entity.ChunkSliceDifference(c1, c2)
|
||||
if len(diff) != 1 {
|
||||
t.Logf("%+v", diff)
|
||||
t.Error("expected 1 chunk in difference")
|
||||
}
|
||||
|
||||
if diff[0] != chunks[3] {
|
||||
t.Logf("%+v", diff)
|
||||
t.Error("wrong difference")
|
||||
}
|
||||
}
|
|
@ -49,7 +49,7 @@ func DecryptData(buff, key []byte) {
|
|||
xorData(buff, key, size)
|
||||
}
|
||||
|
||||
func CreateNewKey(uTime uint64, iv1, iv2 uint64) []byte {
|
||||
func CreateNewKey(uTime, iv1, iv2 uint64) []byte {
|
||||
num := iv1 + 1
|
||||
num2 := iv2 + 1
|
||||
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
package protocol
|
||||
package protocol_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"testing"
|
||||
|
||||
"github.com/CPunch/gopenfusion/internal/protocol"
|
||||
)
|
||||
|
||||
type TestPacketData struct {
|
||||
|
@ -21,10 +23,23 @@ type TestPacketData struct {
|
|||
// UTF16Str: "hello world",
|
||||
// C: 3,
|
||||
// })
|
||||
var testData = [...]byte{0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c, 0x00, 0x6f, 0x00, 0x20, 0x00, 0x77, 0x00, 0x6f, 0x00, 0x72, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00}
|
||||
var testData = [...]byte{
|
||||
0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x68, 0x00, 0x65, 0x00, 0x6c, 0x00, 0x6c, 0x00,
|
||||
0x6f, 0x00, 0x20, 0x00, 0x77, 0x00, 0x6f, 0x00,
|
||||
0x72, 0x00, 0x6c, 0x00, 0x64, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
|
||||
}
|
||||
|
||||
func TestPacketEncodeDecode(t *testing.T) {
|
||||
pkt := NewPacket(&bytes.Buffer{})
|
||||
buf := &bytes.Buffer{}
|
||||
pkt := protocol.NewPacket(buf)
|
||||
|
||||
if err := pkt.Encode(TestPacketData{
|
||||
A: 1,
|
||||
B: 2,
|
||||
|
@ -34,7 +49,7 @@ func TestPacketEncodeDecode(t *testing.T) {
|
|||
t.Error(err)
|
||||
}
|
||||
|
||||
if !bytes.Equal(pkt.readWriter.(*bytes.Buffer).Bytes(), testData[:]) {
|
||||
if !bytes.Equal(buf.Bytes(), testData[:]) {
|
||||
t.Error("packet data does not match!")
|
||||
}
|
||||
|
Loading…
Reference in New Issue