~openstack-charmers-archive/charms/precise/rabbitmq-server/old-1501

« back to all changes in this revision

Viewing changes to unit_tests/test_rabbitmq_server_relations.py

  • Committer: james.page at ubuntu
  • Date: 2014-11-27 11:03:41 UTC
  • mfrom: (55.4.46 ipv6)
  • Revision ID: james.page@ubuntu.com-20141127110341-hlfvklffs56tyu8c
[dosaboy,r=james-page,t=dosaboy,james-page] Add IPv6 support.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
        return cache
33
33
 
34
34
    @patch('rabbitmq_server_relations.peer_store_and_set')
 
35
    @patch('rabbitmq_server_relations.get_ipv6_addr')
 
36
    @patch('rabbitmq_server_relations.config')
 
37
    @patch('rabbitmq_server_relations.relation_set')
35
38
    @patch('apt_pkg.Cache')
36
39
    @patch('rabbitmq_server_relations.is_clustered')
37
40
    @patch('rabbitmq_server_relations.configure_client_ssl')
41
44
    def test_amqp_changed_compare_versions_ha_queues(
42
45
            self,
43
46
            is_elected_leader, relation_get, unit_get, configure_client_ssl,
44
 
            is_clustered, apt_cache, peer_store_and_set):
45
 
        """
46
 
        Compare version above and below 3.0.1.
47
 
        Make sure ha_queues is set correctly on each side.
48
 
        """
49
 
        is_elected_leader.return_value = True
50
 
        relation_get.return_value = {}
51
 
        unit_get.return_value = 'UNIT_TEST'
52
 
        is_clustered.return_value = False
53
 
        apt_cache.return_value = self._apt_cache()
54
 
 
55
 
        self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0'}}
56
 
        rabbitmq_server_relations.amqp_changed(None, None)
57
 
        peer_store_and_set.assert_called_with(
58
 
            relation_settings={'ha_queues': True, 'hostname': 'UNIT_TEST'})
59
 
 
60
 
        self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0.2'}}
61
 
        rabbitmq_server_relations.amqp_changed(None, None)
62
 
        peer_store_and_set.assert_called_with(
63
 
            relation_settings={'hostname': 'UNIT_TEST'})
 
47
            is_clustered, apt_cache, relation_set, mock_config,
 
48
            mock_get_ipv6_addr, mock_peer_store_and_set):
 
49
        """
 
50
        Compare version above and below 3.0.1.
 
51
        Make sure ha_queues is set correctly on each side.
 
52
        """
 
53
 
 
54
        def config(key):
 
55
            if key == 'prefer-ipv6':
 
56
                return False
 
57
 
 
58
            return None
 
59
 
 
60
        mock_config.side_effect = config
 
61
        host_addr = "10.1.2.3"
 
62
        unit_get.return_value = host_addr
 
63
        mock_get_ipv6_addr.return_value = [host_addr]
 
64
        is_elected_leader.return_value = True
 
65
        relation_get.return_value = {}
 
66
        is_clustered.return_value = False
 
67
        apt_cache.return_value = self._apt_cache()
 
68
 
 
69
        self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0'}}
 
70
        rabbitmq_server_relations.amqp_changed(None, None)
 
71
        mock_peer_store_and_set.assert_called_with(
 
72
            relation_settings={'hostname': host_addr,
 
73
                               'ha_queues': True},
 
74
            relation_id=None)
 
75
 
 
76
        self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0.2'}}
 
77
        rabbitmq_server_relations.amqp_changed(None, None)
 
78
        mock_peer_store_and_set.assert_called_with(
 
79
            relation_settings={'hostname': host_addr},
 
80
            relation_id=None)
 
81
 
 
82
    @patch('rabbitmq_server_relations.peer_store_and_set')
 
83
    @patch('rabbitmq_server_relations.get_ipv6_addr')
 
84
    @patch('rabbitmq_server_relations.config')
 
85
    @patch('rabbitmq_server_relations.relation_set')
 
86
    @patch('apt_pkg.Cache')
 
87
    @patch('rabbitmq_server_relations.is_clustered')
 
88
    @patch('rabbitmq_server_relations.configure_client_ssl')
 
89
    @patch('rabbitmq_server_relations.unit_get')
 
90
    @patch('rabbitmq_server_relations.relation_get')
 
91
    @patch('rabbitmq_server_relations.is_elected_leader')
 
92
    def test_amqp_changed_compare_versions_ha_queues_prefer_ipv6(
 
93
            self,
 
94
            is_elected_leader, relation_get, unit_get, configure_client_ssl,
 
95
            is_clustered, apt_cache, relation_set, mock_config,
 
96
            mock_get_ipv6_addr, mock_peer_store_and_set):
 
97
        """
 
98
        Compare version above and below 3.0.1.
 
99
        Make sure ha_queues is set correctly on each side.
 
100
        """
 
101
 
 
102
        def config(key):
 
103
            if key == 'prefer-ipv6':
 
104
                return True
 
105
 
 
106
            return None
 
107
 
 
108
        mock_config.side_effect = config
 
109
        ipv6_addr = "2001:db8:1:0:f816:3eff:fed6:c140"
 
110
        mock_get_ipv6_addr.return_value = [ipv6_addr]
 
111
        is_elected_leader.return_value = True
 
112
        relation_get.return_value = {}
 
113
        is_clustered.return_value = False
 
114
        apt_cache.return_value = self._apt_cache()
 
115
 
 
116
        self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0'}}
 
117
        rabbitmq_server_relations.amqp_changed(None, None)
 
118
        mock_peer_store_and_set.assert_called_with(
 
119
            relation_settings={'private-address': ipv6_addr,
 
120
                               'ha_queues': True},
 
121
            relation_id=None)
 
122
 
 
123
        self.fake_repo = {'rabbitmq-server': {'pkg_vers': '3.0.2'}}
 
124
        rabbitmq_server_relations.amqp_changed(None, None)
 
125
        mock_peer_store_and_set.assert_called_with(
 
126
            relation_settings={'private-address': ipv6_addr},
 
127
            relation_id=None)