def test_obj_or_str_invalid_attr_parameter(self, m): register_uris({"user": ["get_by_id"]}, m) user = self.canvas.get_user(1) with self.assertRaises(TypeError): obj_or_str(user, user, (User,))
def test_obj_or_str_obj_no_attr(self, m): register_uris({"user": ["get_by_id"]}, m) user = self.canvas.get_user(1) with self.assertRaises(AttributeError): obj_or_str(user, "display_name", (User,))
def set_feature_flag(self, feature, **kwargs): """ Set a feature flag for a given account, course or user. :calls: `PUT /api/v1/courses/:course_id/features/flags/:feature \ <https://canvas.instructure.com/doc/api/ feature_flags.html#method.feature_flags.update>`_ or `PUT /api/v1/accounts/:account_id/features/flags/:feature \ <https://canvas.instructure.com/doc/api/ feature_flags.html#method.feature_flags.update>`_ or `PUT /api/v1/users/:user_id/features/flags/:feature \ <https://canvas.instructure.com/doc/api/ feature_flags.html#method.feature_flags.update>`_ :param feature: The feature object to set :type feature: :class:`canvasapi.feature.Feature` :rtype: :class:`canvasapi.feature.FeatureFlag` """ feature_name = obj_or_str(feature, "name", (Feature,)) response = self._requester.request( "PUT", "{}s/{}/features/flags/{}".format( feature._parent_type, feature._parent_id, feature_name ), _kwargs=combine_kwargs(**kwargs), ) return FeatureFlag(self._requester, response.json())
def delete(self, feature, **kwargs): """ Remove a feature flag for a given account, course or user. :calls: `DELETE /api/v1/courses/:course_id/features/flags/:feature \ <https://canvas.instructure.com/doc/api/ feature_flags.html#method.feature_flags.delete>`_ or `DELETE /api/v1/accounts/:account_id/features/flags/:feature \ <https://canvas.instructure.com/doc/api/ feature_flags.html#method.feature_flags.delete>`_ or `DELETE /api/v1/users/:user_id/features/flags/:feature \ <https://canvas.instructure.com/doc/api/ feature_flags.html#method.feature_flags.delete>`_ :rtype: :class:`canvasapi.feature.FeatureFlag` """ feature_name = obj_or_str(feature, "name", (Feature,)) response = self._requester.request( "DELETE", "{}s/{}/features/flags/{}".format( feature._parent_type, feature._parent_id, feature_name ), _kwargs=combine_kwargs(**kwargs), ) return FeatureFlag(self._requester, response.json())
def test_obj_or_str_mult_obj(self, m): register_uris({"user": ["get_by_id"]}, m) user = self.canvas.get_user(1) user_name = obj_or_str(user, "name", (CourseNickname, User)) self.assertIsInstance(user_name, str)
def test_obj_or_str_obj_attr(self, m): register_uris({"user": ["get_by_id"]}, m) user = self.canvas.get_user(1) user_name = obj_or_str(user, "name", (User,)) self.assertIsInstance(user_name, str) self.assertEqual(user_name, "John Doe")
def get_feature_flag(self, feature, **kwargs): """ Returns the feature flag that applies to the given user. :calls: `GET /api/v1/users/:user_id/features/flags/:feature \ <https://canvas.instructure.com/doc/api/feature_flags.html#method.feature_flags.show>`_ :param feature: The feature object or name of the feature to retrieve. :type feature: :class:`canvasapi.feature.Feature` or str :rtype: :class:`canvasapi.feature.FeatureFlag` """ feature_name = obj_or_str(feature, "name", (Feature,)) response = self._requester.request( "GET", "users/{}/features/flags/{}".format(self.id, feature_name), _kwargs=combine_kwargs(**kwargs), ) return FeatureFlag(self._requester, response.json())
def test_obj_or_str_invalid_obj_type(self, m): with self.assertRaises(TypeError): obj_or_str("user", "name", (User,))