Esempio n. 1
0
def insert(type_version_manager, type_object, request, list_bucket_ids=None):
    """Add a version to a type version manager.

    Args:
        type_version_manager:
        type_object:
        request:
        list_bucket_ids:

    Returns:

    """
    # save the type in database
    type_api.upsert(type_object, request=request)
    try:
        # insert the initial template in the version manager
        version_manager_api.insert_version(
            type_version_manager, type_object, request=request
        )
        # insert the version manager in database
        version_manager_api.upsert(type_version_manager, request=request)
        # Add to the selected buckets
        bucket_api.add_type_to_buckets(type_version_manager, list_bucket_ids)
        # get type display name
        display_name = get_latest_version_name(type_version_manager)
        # update saved template
        template_api.set_display_name(type_object, display_name, request=request)
        # update saved type
        return type_version_manager
    except Exception as e:
        type_api.delete(type_object, request=request)
        raise e
Esempio n. 2
0
    def test_add_type_to_buckets_raises_exception_if_bucket_id_not_found(
            self, mock_save, mock_get_colors, mock_get_by_id):

        mock_get_by_id.side_effect = exceptions.DoesNotExist
        mock_get_colors.return_value = []

        mock_version_manager = _create_mock_type_version_manager()

        with self.assertRaises(exceptions.ApiError):
            bucket_api.add_type_to_buckets(mock_version_manager, [ObjectId()])
Esempio n. 3
0
    def test_add_no_type_to_buckets_does_not_update_bucket(
            self, mock_save, mock_get_colors, mock_get_by_id):
        bucket = _create_bucket()
        mock_save.return_value = bucket
        mock_get_by_id.return_value = bucket
        mock_get_colors.return_value = []

        mock_version_manager = _create_mock_type_version_manager()

        self.assertTrue(len(bucket.types) == 0)
        bucket_api.add_type_to_buckets(mock_version_manager, [])
        self.assertTrue(len(bucket.types) == 0)