39 lines
893 B
Gleam
39 lines
893 B
Gleam
import gleam/list
|
|
import gleeunit
|
|
import simplifile
|
|
|
|
import tcp/echo_server
|
|
import tcp/tcp
|
|
|
|
pub fn main() -> Nil {
|
|
gleeunit.main()
|
|
}
|
|
|
|
pub fn foo_test() {
|
|
let socket_path = "/tmp/musicplayer-test.sock"
|
|
|
|
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)
|
|
})
|
|
|
|
// TODO not valid syntax?
|
|
// let assert Ok(Nil) = tcp.shutdown(socket)
|
|
//
|
|
// test: musicplayer_test.foo_test
|
|
// code: let assert Ok(Nil) = tcp.shutdown(socket)
|
|
// value: Ok
|
|
// info: Pattern match failed, no pattern matched the value.
|
|
|
|
let _ = 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)
|
|
}
|