mirror of
https://pagure.io/fm-orchestrator.git
synced 2026-02-02 20:59:06 +08:00
Replace clean_database calls with cheaper truncate operation. Remove duplicate calls of clean_database. Extract clean_database/init_data into fixtures.
26 lines
865 B
Python
26 lines
865 B
Python
# -*- coding: utf-8 -*-
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
from mock import patch
|
|
|
|
from module_build_service.common import models
|
|
from module_build_service.common.config import conf
|
|
from module_build_service.scheduler.db_session import db_session
|
|
from tests import make_module_in_db
|
|
|
|
|
|
@patch('module_build_service.common.messaging.publish')
|
|
def test_send_messages_after_several_state_transitions(mock_publish, require_empty_database):
|
|
"""
|
|
Ensure all module build state change messages are sent after multiple
|
|
ModuleBuild.transitions are committed at once
|
|
"""
|
|
build = make_module_in_db("testmodule:1:2:c3")
|
|
|
|
build.transition(db_session, conf, models.BUILD_STATES["wait"])
|
|
build.transition(db_session, conf, models.BUILD_STATES["done"])
|
|
|
|
assert 0 == mock_publish.call_count
|
|
db_session.commit()
|
|
assert 2 == mock_publish.call_count
|