def test_save_image_video(self, mock_class):
        """test_save_image_video"""
        thread_event = mock_class.return_value

        channel_name = "video"
        media_type = "video"
        handler = channel_handler.ChannelHandler(channel_name, media_type)
        handler._create_thread()

        data = "image data"
        width = 100
        height = 100
        handler.save_image(data, width, height)
        thread_event.wait.return_value = True
        time.sleep(0.05)
        image, _, _, _ = handler.get_frame()
        #self.assertEqual(data, image)
        time.sleep(2)
        handler.img_data = "image data"
        handler.save_image(data, width, height)

        thread_event.wait.return_value = False
        image, _, _, _ = handler.get_frame()
        self.assertNotEqual(data, image)

        handler.close_thread()
        handler.set_heartbeat()
        self.assertEqual(handler.close_thread_switch, True)
    def test_open_channel_fail_for_channel_busy(self):
        """utest"""
        server_address = get_socket_server_addr()
        server = FaceDetectionServer(server_address)

        client = create_sock_client(server_address)
        self.assertNotEqual(client, None)

        #channel busy
        channel_name = "image_busy"
        media_type = PB_CHANNEL_CONTENT_TYPE_IMAGE
        ret = CHANNEL_MANAGER.register_one_channel(channel_name)
        self.assertEqual(ret, 0)
        handler = channel_handler.ChannelHandler(channel_name, media_type)
        CHANNEL_MANAGER.create_channel_resource(channel_name, 0, media_type,
                                                handler)
        CHANNEL_MANAGER.create_channel_resource(channel_name, 0, media_type,
                                                handler)
        ret = CHANNEL_MANAGER.is_channel_busy(channel_name)
        self.assertEqual(ret, True)

        ret = open_channel(client, channel_name, media_type)
        self.assertEqual(ret, True)
        ret = response_open_channel(client)
        self.assertEqual(ret, PB_OPEN_CHANNEL_ERROR_CHANNEL_ALREADY_OPENED)

        #clean
        client.close()
        CHANNEL_MANAGER.unregister_one_channel(channel_name)
        server.stop_thread()
 def test_10s_close_thread(self):
     """test_10s_close_thread"""
     channel_name = "video"
     media_type = "video"
     backup = channel_handler.HEARTBEAT_TIMEOUT
     channel_handler.HEARTBEAT_TIMEOUT = 1
     handler = channel_handler.ChannelHandler(channel_name, media_type)
     self.assertEqual(handler.thread.isAlive(), True)
     time.sleep(11)
     self.assertNotEqual(handler.thread.isAlive(), True)
     channel_handler.HEARTBEAT_TIMEOUT = backup
    def test_save_image_image(self):
        """test_save_image_image"""
        channel_name = "image"
        media_type = "image"
        handler = channel_handler.ChannelHandler(channel_name, media_type)

        data = "image data"
        width = 100
        height = 100
        handler.save_image(data, width, height)
        image = handler.get_image()
        self.assertEqual(data, image)
    def test_close_thread(self, mock_class):
        """test_close_thread"""
        thread_event = mock_class.return_value
        thread_event.wait.return_value = None
        thread_event.clear.return_value = None

        channel_name = "video"
        media_type = "video"
        handler = channel_handler.ChannelHandler(channel_name, media_type)
        self.assertEqual(channel_name, handler.channel_name)
        self.assertEqual(handler.close_thread_switch, False)

        handler.close_thread()
        handler.set_heartbeat()
        self.assertEqual(handler.close_thread_switch, True)
 def test_create_image(self):
     channel_name = "image"
     media_type = "image"
     handler = channel_handler.ChannelHandler(channel_name, media_type)
     self.assertEqual(channel_name, handler.channel_name)
     self.assertEqual(media_type, handler.get_media_type())