コード例 #1
0
def test_not_master_master_with_one_node(default_connection, group, node):
    inner_logic.add_group(default_connection, group.name, group.description,
                          group.vip_address, group.mysql_user,
                          group.mysql_pass, group.relp_user, group.relp_pass)
    inner_logic.add_node(default_connection, node.group, node.name, node.ip,
                         node.port, node.mode, node.status)
    assert not inner_logic.is_master_master(group.name, default_connection)
コード例 #2
0
def test_cannot_delete_group_with_nodes(default_connection, group, node):
    inner_logic.add_group(default_connection, group.name, group.description,
                          group.vip_address, group.mysql_user,
                          group.mysql_pass, group.relp_user, group.relp_pass)
    inner_logic.add_node(default_connection, node.group, node.name, node.ip,
                         node.port, node.mode, node.status)

    with pytest.raises(GroupWithNodesError):
        inner_logic.delete_group(default_connection, group.name)
コード例 #3
0
def test_can_delete_added_node(default_connection, node, group):
    inner_logic.add_group(default_connection, group.name, group.description,
                          group.vip_address, group.mysql_user,
                          group.mysql_pass, group.relp_user, group.relp_pass)

    inner_logic.add_node(default_connection, node.group, node.name, node.ip,
                         node.port, node.mode, node.status)
    inner_logic.delete_node(default_connection, node.group, node.ip)

    with pytest.raises(NodeNotFoundError):
        inner_logic.get_node(node.group, node.ip, default_connection)
コード例 #4
0
def test_cannot_add_added_node(default_connection, node, group):
    inner_logic.add_group(default_connection, group.name, group.description,
                          group.vip_address, group.mysql_user,
                          group.mysql_pass, group.relp_user, group.relp_pass)

    inner_logic.add_node(default_connection, node.group, node.name, node.ip,
                         node.port, node.mode, node.status)

    with pytest.raises(NodeAlreadyAddedError):
        inner_logic.add_node(default_connection, node.group, node.name,
                             node.ip, node.port, node.mode, node.status)
コード例 #5
0
def test_can_add_node(default_connection, node, group):
    inner_logic.add_group(default_connection, group.name, group.description,
                          group.vip_address, group.mysql_user,
                          group.mysql_pass, group.relp_user, group.relp_pass)

    inner_logic.add_node(default_connection, node.group, node.name, node.ip,
                         node.port, node.mode, node.status)

    added_node = inner_logic.get_node(node.group, node.ip, default_connection)
    assert added_node.group == node.group
    assert added_node.ip == node.ip
    assert added_node.name == node.name
コード例 #6
0
ファイル: test_inner_logic.py プロジェクト: rubensmg/FoxHA
def test_cannot_failover_with_no_master_master(environment, default_connection):
    inner_logic.add_node(
        default_connection, environment.group, 'FakeNode',
        '127.0.0.1', 3306, 'read_only', 'enabled'
    )

    try:
        inner_logic.failover(environment.group, default_connection)
        assert False
    except IsNotMasterMasterEnvironmentError:
        assert True
    except:
        assert False
    finally:
        inner_logic.delete_node(
            default_connection, environment.group, '127.0.0.1'
        )
コード例 #7
0
def test_not_master_master_with_more_than_two_nodes(default_connection, group,
                                                    node):
    inner_logic.add_group(default_connection, group.name, group.description,
                          group.vip_address, group.mysql_user,
                          group.mysql_pass, group.relp_user, group.relp_pass)
    inner_logic.add_node(default_connection, node.group, node.name, node.ip,
                         node.port, node.mode, node.status)
    inner_logic.add_node(default_connection, node.group, 'Fake-2', '127.0.0.2',
                         node.port, node.mode, node.status)
    inner_logic.add_node(default_connection, node.group, 'Fake-3', '127.0.0.3',
                         node.port, node.mode, node.status)

    is_master_master = inner_logic.is_master_master(group.name,
                                                    default_connection)
    assert inner_logic.delete_node(default_connection, node.group, '127.0.0.2')
    assert inner_logic.delete_node(default_connection, node.group, '127.0.0.3')
    assert not is_master_master
コード例 #8
0
ファイル: provider.py プロジェクト: globocom/dbaas-foxha
 def add_node(self, group_name, name, node_ip, port, mode, status):
     LOG.info("Adding node: {} | {}".format(group_name, node_ip))
     return inner_logic.add_node(self.fox_connection, group_name, name,
                                 node_ip, port, mode, status)
コード例 #9
0
def test_cannot_add_node_external_group(default_connection, node):
    with pytest.raises(GroupNotFoundError):
        inner_logic.add_node(default_connection, node.group, node.name,
                             node.ip, node.port, node.mode, node.status)