def test_simple_creation(self): """ Basic Web Notifier creation """ wn = WebNotifier(project=self.project, name="waterfall") wn.save() self.assertNotEqual(wn.id, None) self.assertEqual(unicode(wn), "waterfall") self.assertEqual(wn.cast().get_config_type(), _("web notifier")) args = wn.cast().get_config_args() self.assertEqual(args.get("http_port", None), settings.DEFAULT_WEBSTATUS_PORT) # check that the config object can be instantiated self.assert_valid_buildbot_config(wn.cast().get_config_class(), args) # check authentication class self.assertEqual(wn.cast().get_auth_class(), None) self.assertEqual(wn.cast().get_auth_args(), None) # Check that the resulting config string is sensible self.assert_config_string_executable(wn.cast()) self.assertEqual(None, wn.cast().get_auth_str())
def test_with_auth(self): """ Test Web notifier with admin interface enabled (default options) """ wn = WebNotifier(project=self.project, name="waterfall2", port = 8765, enable_admin_interface = True, ) wn.save() # check additional config args args = wn.cast().get_config_args() self.assertEqual(args.get("http_port", None), 8765) # check authentication class self.assertNotEqual(wn.cast().get_auth_class(), None) self.assertNotEqual(wn.cast().get_auth_args(), None) args = wn.cast().get_auth_args() # now look at auth module args self.assertEqual(args.get("forceBuild", None), True) self.assertEqual(args.get("forceAllBuilds", None), True) self.assertEqual(args.get("pingBuilder", None), True) self.assertEqual(args.get("gracefulShutdown", None), False) self.assertEqual(args.get("stopBuild", None), True) self.assertEqual(args.get("stopAllBuilds", None), True) self.assertEqual(args.get("cancelPendingBuild", None), False) self.assertEqual(args.get("cleanShutdown", None), False) # Make sure changes to object are reflected in args wn.allow_ping_slave = False wn.save() self.assertEqual(wn.cast().get_auth_args().get("pingBuilder", None), False) wn.allow_shutdown_slave = True wn.save() self.assertEqual(wn.cast().get_auth_args().get("gracefulShutdown", None), True) wn.allow_shutdown_master = True wn.save() self.assertEqual(wn.cast().get_auth_args().get("cleanShutdown", None), True) wn.allow_force_build = False wn.save() self.assertEqual(wn.cast().get_auth_args().get("forceBuild", None), False) self.assertEqual(wn.cast().get_auth_args().get("forceAllBuilds", None), False) wn.allow_stop_build = False wn.save() self.assertEqual(wn.cast().get_auth_args().get("stopBuild", None), False) self.assertEqual(wn.cast().get_auth_args().get("stopAllBuilds", None), False) wn.allow_cancel_pending_build = True wn.save() self.assertEqual(wn.cast().get_auth_args().get("cancelPendingBuild", None), True) # check that the auth object can be instantiated args = wn.cast().get_auth_args() # now look at auth module args self.assert_valid_buildbot_config(wn.cast().get_auth_class(), args) # Check that the resulting config string is sensible self.assert_config_string_executable(wn.cast())