Пример #1
0
TEST_F(RouterTests, test_invalid_registrations) {
  Router router;
  std::unique_ptr<DummyFactory> dummy(new DummyFactory());
  ASSERT_THROW(
      router.addRoute("/", std::move(dummy), Router::route_t::EXACT),
      RouterException) << "'/' is not allowed.";
}
Пример #2
0
TEST_F(RouterTests, test_valid_registration_route) {
  Router router;
  std::unique_ptr<DummyFactory> dummy1(new DummyFactory());

  router.addRoute("/dummy1",
                  std::move(dummy1),
                  Router::route_t::EXACT);

  ASSERT_THROW(router.getHandler("/"), RouterException)
      << "No catch all registered, access to '/' impossible";


  std::unique_ptr<DummyFactory> dummy2(new DummyFactory());
  router.addRoute("/dummy2",
                  std::move(dummy2),
                  Router::route_t::CATCH_ALL);

  router.getHandler("/dummy1");
  router.getHandler("/dummy2");

  ASSERT_NE(router.getHandler("/"), nullptr)
      << "A handling factory should be returned";
}