def test_xmlrpc_interface_set(self):
     sp = xmlrpclib.ServerProxy(
         config.launchpad.feature_flags_endpoint,
         transport=XMLRPCTestTransport(), allow_none=True)
     flag_name = u'flag'
     with feature_flags():
         set_feature_flag(flag_name, u'1')
         self.assertEqual(u'1', sp.getFeatureFlag(flag_name))
 def test_getFeatureFlag_considers_supplied_scope(self):
     flag_name = u'flag'
     scope_name = u'scope'
     with feature_flags():
         set_feature_flag(flag_name, u'value', scope_name)
         self.assertEqual(
             u'value',
             self.endpoint.getFeatureFlag(flag_name, [scope_name]))
 def test_xmlrpc_interface_set(self):
     sp = xmlrpclib.ServerProxy(config.launchpad.feature_flags_endpoint,
                                transport=XMLRPCTestTransport(),
                                allow_none=True)
     flag_name = u'flag'
     with feature_flags():
         set_feature_flag(flag_name, u'1')
         self.assertEqual(u'1', sp.getFeatureFlag(flag_name))
 def test_getFeatureFlag_considers_supplied_scope(self):
     flag_name = u'flag'
     scope_name = u'scope'
     with feature_flags():
         set_feature_flag(flag_name, u'value', scope_name)
         self.assertEqual(
             u'value', self.endpoint.getFeatureFlag(flag_name,
                                                    [scope_name]))
 def test_getFeatureFlag_turns_user_into_team_scope(self):
     flag_name = u'flag'
     person = self.factory.makePerson()
     team = self.factory.makeTeam(members=[person])
     with feature_flags():
         set_feature_flag(flag_name, u'value', u'team:' + team.name)
         self.assertEqual(
             u'value',
             self.endpoint.getFeatureFlag(
                 flag_name, ['user:' + person.name]))
 def test_text_for_muted_subscriptions(self):
     # If a user has a mute on a bug it's recorded internally as a
     # type of subscription. However, the subscription text of the
     # BugContextMenu will still read 'Subscribe'.
     person = self.factory.makePerson()
     with feature_flags():
         with person_logged_in(person):
             self.bug.mute(person, person)
             link = self.context_menu.subscription()
             self.assertEqual('Subscribe', link.text)
 def test_text_for_muted_subscriptions(self):
     # If a user has a mute on a bug it's recorded internally as a
     # type of subscription. However, the subscription text of the
     # BugContextMenu will still read 'Subscribe'.
     person = self.factory.makePerson()
     with feature_flags():
         with person_logged_in(person):
             self.bug.mute(person, person)
             link = self.context_menu.subscription()
             self.assertEqual("Subscribe", link.text)
 def test_getFeatureFlag_turns_user_into_team_scope(self):
     flag_name = u'flag'
     person = self.factory.makePerson()
     team = self.factory.makeTeam(members=[person])
     with feature_flags():
         set_feature_flag(flag_name, u'value', u'team:' + team.name)
         self.assertEqual(
             u'value',
             self.endpoint.getFeatureFlag(flag_name,
                                          ['user:' + person.name]))
 def test_mute_help_available(self):
     # There is a help link available next to the mute/unmute button.
     person = self.factory.makePerson()
     with feature_flags():
         with person_logged_in(person):
             self.bug.subscribe(person, person, level=BugNotificationLevel.METADATA)
             self.bug.mute(person, person)
             request = LaunchpadTestRequest()
             request.features = get_relevant_feature_controller()
             view = create_initialized_view(self.bug, name="+portlet-subscription", request=request)
             html = view.render()
     self.assertTrue('class="sprite maybe action-icon mute-help"' in html)
 def test_mute_help_available(self):
     # There is a help link available next to the mute/unmute button.
     person = self.factory.makePerson()
     with feature_flags():
         with person_logged_in(person):
             self.bug.subscribe(person,
                                person,
                                level=BugNotificationLevel.METADATA)
             self.bug.mute(person, person)
             request = LaunchpadTestRequest()
             request.features = get_relevant_feature_controller()
             view = create_initialized_view(self.bug,
                                            name="+portlet-subscription",
                                            request=request)
             html = view.render()
     self.assertTrue('class="sprite maybe action-icon mute-help"' in html)
 def test_mute_subscription_link(self):
     # The mute_subscription() method of BugContextMenu will return a
     # Link whose text will alter depending on whether or not they
     # have a mute on the bug.
     person = self.factory.makePerson()
     with feature_flags():
         with person_logged_in(person):
             # If the user hasn't muted the bug, the link text will
             # reflect this.
             link = self.context_menu.mute_subscription()
             self.assertEqual("Mute bug mail", link.text)
             # Once the user has muted the bug, the link text will
             # change.
             self.bug.mute(person, person)
             link = self.context_menu.mute_subscription()
             self.assertEqual("Unmute bug mail", link.text)
 def test_mute_subscription_link(self):
     # The mute_subscription() method of BugContextMenu will return a
     # Link whose text will alter depending on whether or not they
     # have a mute on the bug.
     person = self.factory.makePerson()
     with feature_flags():
         with person_logged_in(person):
             # If the user hasn't muted the bug, the link text will
             # reflect this.
             link = self.context_menu.mute_subscription()
             self.assertEqual("Mute bug mail", link.text)
             # Once the user has muted the bug, the link text will
             # change.
             self.bug.mute(person, person)
             link = self.context_menu.mute_subscription()
             self.assertEqual("Unmute bug mail", link.text)
 def test_getFeatureFlag_returns_true_for_set_flag(self):
     flag_name = u'flag'
     with feature_flags():
         set_feature_flag(flag_name, u'1')
         self.assertEqual(u'1', self.endpoint.getFeatureFlag(flag_name))
 def test_flags_unset_outside_feature_flags_context(self):
     """get fails when used outside the feature_flags context."""
     with feature_flags():
         set_feature_flag(u'name', u'value')
     self.assertIs(None, getFeatureFlag('name'))
 def test_flags_set_within_feature_flags_context(self):
     """In the feature_flags context, set/get works."""
     self.useContext(feature_flags())
     set_feature_flag(u'name', u'value')
     self.assertEqual('value', getFeatureFlag('name'))
 def test_getFeatureFlag_returns_true_for_set_flag(self):
     flag_name = u'flag'
     with feature_flags():
         set_feature_flag(flag_name, u'1')
         self.assertEqual(u'1', self.endpoint.getFeatureFlag(flag_name))