From 7d7c77786b2ca9bfaac2cdd4c286cedeefcc66de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sat, 11 Apr 2015 21:46:15 +0300 Subject: Add initial spdy_SUITE The tests will be written against a robot server, spdy_server, which parses and records all frames it receives. This robot server can later be enhanced to perform actions at specific times to send responses or simulate error conditions. --- test/spdy_SUITE.erl | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/spdy_SUITE.erl (limited to 'test/spdy_SUITE.erl') diff --git a/test/spdy_SUITE.erl b/test/spdy_SUITE.erl new file mode 100644 index 0000000..7dd6d34 --- /dev/null +++ b/test/spdy_SUITE.erl @@ -0,0 +1,38 @@ +%% Copyright (c) 2015, Loïc Hoguin +%% +%% Permission to use, copy, modify, and/or distribute this software for any +%% purpose with or without fee is hereby granted, provided that the above +%% copyright notice and this permission notice appear in all copies. +%% +%% THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +%% WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +%% MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +%% ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +%% WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +%% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +%% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +-module(spdy_SUITE). +-compile(export_all). + +-import(ct_helper, [doc/1]). + +all() -> [{group, spdy31}]. + +groups() -> [{spdy31, [parallel], ct_helper:all(?MODULE)}]. + +goaway_on_close(Config) -> + doc("Send a GOAWAY when the client closes the connection (spdy-protocol-draft3-1 2.1)"), + {ok, ServerPid, Port} = spdy_server:start_link(), + {ok, ConnPid} = gun:open("localhost", Port, #{transport=>ssl}), + {ok, spdy} = gun:await_up(ConnPid), + gun:close(ConnPid), + [{goaway, 0, ok}] = spdy_server:stop(ServerPid). + +goaway_on_shutdown(Config) -> + doc("Send a GOAWAY when the client closes the connection (spdy-protocol-draft3-1 2.1)"), + {ok, ServerPid, Port} = spdy_server:start_link(), + {ok, ConnPid} = gun:open("localhost", Port, #{transport=>ssl}), + {ok, spdy} = gun:await_up(ConnPid), + gun:shutdown(ConnPid), + [{goaway, 0, ok}] = spdy_server:stop(ServerPid). -- cgit v1.2.3