def test_update_category_name_with_too_long_string( config_injector, tag_category_factory ): config_injector({"tag_category_name_regex": "^[a-z]+$"}) category = tag_category_factory() with pytest.raises(tag_categories.InvalidTagCategoryNameError): tag_categories.update_category_name(category, "a" * 3000)
def test_update_category_name_reusing_own_name( config_injector, tag_category_factory, name ): config_injector({"tag_category_name_regex": ".*"}) category = tag_category_factory(name="name") db.session.add(category) db.session.flush() tag_categories.update_category_name(category, name) assert category.name == name
def test_update_category_name_reusing_other_name(config_injector, tag_category_factory): config_injector({"tag_category_name_regex": ".*"}) db.session.add(tag_category_factory(name="name")) db.session.flush() category = tag_category_factory() with pytest.raises(tag_categories.TagCategoryAlreadyExistsError): tag_categories.update_category_name(category, "name") with pytest.raises(tag_categories.TagCategoryAlreadyExistsError): tag_categories.update_category_name(category, "NAME")
def test_update_category_name_reusing_own_name(config_injector, tag_category_factory): config_injector({"tag_category_name_regex": ".*"}) for name in ["name", "NAME"]: category = tag_category_factory(name="name") db.session.add(category) db.session.flush() tag_categories.update_category_name(category, name) assert category.name == name db.session.rollback()
def test_update_category_name_reusing_other_name( config_injector, tag_category_factory): config_injector({'tag_category_name_regex': '.*'}) db.session.add(tag_category_factory(name='name')) db.session.flush() category = tag_category_factory() with pytest.raises(tag_categories.TagCategoryAlreadyExistsError): tag_categories.update_category_name(category, 'name') with pytest.raises(tag_categories.TagCategoryAlreadyExistsError): tag_categories.update_category_name(category, 'NAME')
def test_update_category_name_reusing_own_name( config_injector, tag_category_factory): config_injector({'tag_category_name_regex': '.*'}) for name in ['name', 'NAME']: category = tag_category_factory(name='name') db.session.add(category) db.session.flush() tag_categories.update_category_name(category, name) assert category.name == name db.session.rollback()
def test_update_category_name_reusing_own_name(config_injector, tag_category_factory): config_injector({'tag_category_name_regex': '.*'}) for name in ['name', 'NAME']: category = tag_category_factory(name='name') db.session.add(category) db.session.flush() tag_categories.update_category_name(category, name) assert category.name == name db.session.rollback()
def test_update_category_name_reusing_other_name(config_injector, tag_category_factory): config_injector({'tag_category_name_regex': '.*'}) db.session.add(tag_category_factory(name='name')) db.session.flush() category = tag_category_factory() with pytest.raises(tag_categories.TagCategoryAlreadyExistsError): tag_categories.update_category_name(category, 'name') with pytest.raises(tag_categories.TagCategoryAlreadyExistsError): tag_categories.update_category_name(category, 'NAME')
def put(self, ctx, category_name): category = tag_categories.get_category_by_name(category_name) if ctx.has_param('name'): auth.verify_privilege(ctx.user, 'tag_categories:edit:name') tag_categories.update_category_name( category, ctx.get_param_as_string('name')) if ctx.has_param('color'): auth.verify_privilege(ctx.user, 'tag_categories:edit:color') tag_categories.update_category_color( category, ctx.get_param_as_string('color')) ctx.session.flush() snapshots.save_entity_modification(category, ctx.user) ctx.session.commit() tags.export_to_json() return tag_categories.serialize_category_with_details(category)
def update_tag_category(ctx: rest.Context, params: Dict[str, str]) -> rest.Response: category = tag_categories.get_category_by_name(params["category_name"], lock=True) versions.verify_version(category, ctx) versions.bump_version(category) if ctx.has_param("name"): auth.verify_privilege(ctx.user, "tag_categories:edit:name") tag_categories.update_category_name(category, ctx.get_param_as_string("name")) if ctx.has_param("color"): auth.verify_privilege(ctx.user, "tag_categories:edit:color") tag_categories.update_category_color(category, ctx.get_param_as_string("color")) ctx.session.flush() snapshots.modify(category, ctx.user) ctx.session.commit() return _serialize(ctx, category)
def update_tag_category(ctx, params): category = tag_categories.get_category_by_name( params['category_name'], lock=True) versions.verify_version(category, ctx) versions.bump_version(category) if ctx.has_param('name'): auth.verify_privilege(ctx.user, 'tag_categories:edit:name') tag_categories.update_category_name( category, ctx.get_param_as_string('name')) if ctx.has_param('color'): auth.verify_privilege(ctx.user, 'tag_categories:edit:color') tag_categories.update_category_color( category, ctx.get_param_as_string('color')) ctx.session.flush() snapshots.modify(category, ctx.user) ctx.session.commit() tags.export_to_json() return _serialize(ctx, category)
def update_tag_category( ctx: rest.Context, params: Dict[str, str]) -> rest.Response: category = tag_categories.get_category_by_name( params['category_name'], lock=True) versions.verify_version(category, ctx) versions.bump_version(category) if ctx.has_param('name'): auth.verify_privilege(ctx.user, 'tag_categories:edit:name') tag_categories.update_category_name( category, ctx.get_param_as_string('name')) if ctx.has_param('color'): auth.verify_privilege(ctx.user, 'tag_categories:edit:color') tag_categories.update_category_color( category, ctx.get_param_as_string('color')) ctx.session.flush() snapshots.modify(category, ctx.user) ctx.session.commit() return _serialize(ctx, category)
def test_update_category_name_with_empty_string(tag_category_factory): category = tag_category_factory() with pytest.raises(tag_categories.InvalidTagCategoryNameError): tag_categories.update_category_name(category, None)
def test_update_category_name_with_too_long_string( config_injector, tag_category_factory): config_injector({'tag_category_name_regex': '^[a-z]+$'}) category = tag_category_factory() with pytest.raises(tag_categories.InvalidTagCategoryNameError): tag_categories.update_category_name(category, 'a' * 3000)
def test_update_category_name_with_invalid_name(config_injector, tag_category_factory): config_injector({'tag_category_name_regex': '^[a-z]+$'}) category = tag_category_factory() with pytest.raises(tag_categories.InvalidTagCategoryNameError): tag_categories.update_category_name(category, '0')