TCP echo server
This commit is contained in:
@@ -1,13 +1,30 @@
|
||||
import gleam/list
|
||||
import gleeunit
|
||||
import simplifile
|
||||
|
||||
import tcp/echo_server
|
||||
import tcp/tcp
|
||||
|
||||
pub fn main() -> Nil {
|
||||
gleeunit.main()
|
||||
}
|
||||
|
||||
// gleeunit test functions end in `_test`
|
||||
pub fn hello_world_test() {
|
||||
let name = "Joe"
|
||||
let greeting = "Hello, " <> name <> "!"
|
||||
pub fn tcp_send_shutdown_receive_test() {
|
||||
let socket_path = "/tmp/musicplayer-test.sock"
|
||||
|
||||
assert greeting == "Hello, Joe!"
|
||||
let assert Ok(_) = echo_server.new(socket_path)
|
||||
let assert Ok(socket) = tcp.connect(socket_path)
|
||||
|
||||
let messages = ["hello, ", "world!\n"]
|
||||
list.each(messages, fn(message) {
|
||||
let assert Ok(_) = tcp.send(socket, message)
|
||||
})
|
||||
|
||||
let assert Ok(_) = tcp.shutdown(socket)
|
||||
|
||||
let timeout_ms = 100
|
||||
assert Ok("hello, world!\n") == tcp.receive(socket, timeout_ms)
|
||||
|
||||
// TODO find better way to always do cleanup
|
||||
simplifile.delete(socket_path)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user