mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-25 09:03:10 +01:00
test: import 38 channelserver test files from v9.2.x-stable
Port test files from v9.2.x-stable branch to increase channelserver coverage from 13.8% to 25.6% (556 tests passing). Adapted all files to main's struct definitions: config import alias, Airou/CatDefinition rename, packet field mismatches, Raviente struct differences, and maxPlayers defaults. Removed tests referencing production code not yet on main (Player, FestivalColour, etc.). Excluded handlers_register_test.go (Raviente completely redesigned).
This commit is contained in:
68
server/channelserver/test_helpers_test.go
Normal file
68
server/channelserver/test_helpers_test.go
Normal file
@@ -0,0 +1,68 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
"net"
|
||||
|
||||
"erupe-ce/common/byteframe"
|
||||
_config "erupe-ce/config"
|
||||
"erupe-ce/network"
|
||||
"erupe-ce/network/clientctx"
|
||||
|
||||
"go.uber.org/zap"
|
||||
)
|
||||
|
||||
// mockPacket implements mhfpacket.MHFPacket for testing.
|
||||
// Imported from v9.2.x-stable.
|
||||
type mockPacket struct {
|
||||
opcode uint16
|
||||
}
|
||||
|
||||
func (m *mockPacket) Opcode() network.PacketID {
|
||||
return network.PacketID(m.opcode)
|
||||
}
|
||||
|
||||
func (m *mockPacket) Build(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
if ctx == nil {
|
||||
panic("clientContext is nil")
|
||||
}
|
||||
bf.WriteUint32(0x12345678)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (m *mockPacket) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
// createMockServer creates a minimal Server for testing.
|
||||
// Imported from v9.2.x-stable and adapted for main.
|
||||
func createMockServer() *Server {
|
||||
logger, _ := zap.NewDevelopment()
|
||||
s := &Server{
|
||||
logger: logger,
|
||||
erupeConfig: &_config.Config{},
|
||||
stages: make(map[string]*Stage),
|
||||
sessions: make(map[net.Conn]*Session),
|
||||
raviente: &Raviente{
|
||||
register: make([]uint32, 30),
|
||||
state: make([]uint32, 30),
|
||||
support: make([]uint32, 30),
|
||||
},
|
||||
}
|
||||
s.i18n = getLangStrings(s)
|
||||
return s
|
||||
}
|
||||
|
||||
// createMockSession creates a minimal Session for testing.
|
||||
// Imported from v9.2.x-stable and adapted for main.
|
||||
func createMockSession(charID uint32, server *Server) *Session {
|
||||
logger, _ := zap.NewDevelopment()
|
||||
return &Session{
|
||||
charID: charID,
|
||||
clientContext: &clientctx.ClientContext{},
|
||||
sendPackets: make(chan packet, 20),
|
||||
Name: "TestPlayer",
|
||||
server: server,
|
||||
logger: logger,
|
||||
semaphoreID: make([]uint16, 2),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user