def test_update_service(self):
        data = {
            'state': 'OK',
            'state_type': 'HARD',
            'last_chk': 1440976938,
            'output': 'TCP OK - 0.033 second response time on 93.93.47.83 port 22',
            'long_output': '',
            'perf_data': 'time=0.032536s;;;0.000000;3.000000',
            'problem_has_been_acknowledged': False,
            'service_description': 'check disk',
            'host_name': 'server1'
        }

        modconf = Module()
        modconf.module_name = "alignakbackend"
        module = AlignakBackendBrok(modconf)

        with HTTMock(server_responses):
            # get livehosts
            module.get_refs('livehost')
            # get liveservices
            module.get_refs('liveservice')

        with HTTMock(server_responses):
            ret = module.update(data, 'service')
        reference = {
            'livehost': 0,
            'liveservice': 1,
            'loghost': 0,
            'logservice': 1
        }
        self.assertEqual(reference, ret)
    def test_get_refs_liveservice(self):
        """
        Get all services

        :return: None
        """
        modconf = Module()
        modconf.module_name = "alignakbackend"
        module = AlignakBackendBrok(modconf)

        with HTTMock(server_responses):
            module.get_refs('liveservice')

        ref = {
            '55d4f7b26376e946db235fc4': {
                '_id': '55d4f8746376e946db235fc8',
                '_etag': 'fbf6c05750113eca669aece45198affb567ac550'
            },
            '55d4f7be6376e946db235fc5': {
                '_id': '55d4f8876376e946db235fc9',
                '_etag': '3ed23c329f07c92fabeee465e5c4e59bc5f575f0'
            },
            '55d4f7cc6376e946db235fc6': {
                '_id': '55d4faa26376e946db235fca',
                '_etag': 'b7c4a2563f7382ed86dac2dc975759e20be778fc'
            },
            '55d4f7d76376e946db235fc7': {
                '_id': '55d4fabd6376e946db235fcb',
                '_etag': '9ab70e496605b755836be976d676be17a4bc6fea'
            }
        }

        self.assertEqual(module.ref_live['service'], ref)

        mapping_ref = {
            'server1check disk': '55d4f7b26376e946db235fc4',
            'server2check disk': '55d4f7be6376e946db235fc5',
            'server3check disk': '55d4f7cc6376e946db235fc6',
            'server4check disk': '55d4f7d76376e946db235fc7'
        }
        self.assertEqual(module.mapping['service'], mapping_ref)
    def test_get_refs_livehost(self):
        modconf = Module()
        modconf.module_name = "alignakbackend"
        module = AlignakBackendBrok(modconf)

        with HTTMock(server_responses):
            module.get_refs('livehost')

        ref = {
            '55d4a5246376e946db235fbc': {
                '_id': '55d4e5626376e946db235fc0',
                '_etag': '78462b947415c0703d5bb747e8bc1fdb0e088a3b'
            },
            '55d4a5276376e946db235fbd': {
                '_id': '55d4e57d6376e946db235fc1',
                '_etag': '3524b87876c1d457bdca7492b9bfc503f3f13b1e'
            },
            '55d4a52a6376e946db235fbe': {
                '_id': '55d4e7d36376e946db235fc2',
                '_etag': 'a457e78fe0dc28c1b427d9b0696096fee73f4a29'
            },
            '55d4a52d6376e946db235fbf': {
                '_id': '55d4e8126376e946db235fc3',
                '_etag': '2b45425c497d5593bad8ef5413c84e6a0d61cc41'
            }
        }

        self.assertEqual(module.ref_live['host'], ref)

        mapping_ref = {
            'server1': '55d4a5246376e946db235fbc',
            'server2': '55d4a5276376e946db235fbd',
            'server3': '55d4a52a6376e946db235fbe',
            'server4': '55d4a52d6376e946db235fbf'
        }
        self.assertEqual(module.mapping['host'], mapping_ref)