class TestAddOfflineCamera(object):
    '''
    Add a lot of Camera Model
    '''

    def __init__(self):
        '''
        init Server necessary
        '''
        self.dms = DeviceManagementServer()
        self.dataVerifier = MysqlDataVerifier()
        pass
    
    def setUp(self):
        Config("device-information.cfg").writeToConfig(commonConfige, "snapshot-recording-enabled", "false")
        Config("device-information.cfg").writeToConfig(commonConfige, "cloud-recording-enabled", "false")
        pass
    
    def tearDown(self):
        '''
        Clear Device Inforation
        '''
        self.dataVerifier.cleanDeviceInfo()
        pass
    
    def testcase_addCameraA(self):
        '''
        Add Camera ModelA
        '''
        result = self.dms.testAddDevice(deviceModelA)
        assert result
        isInDevices = self.dataVerifier.testCorrectnessInDevices()
        assert isInDevices
        
    def testcase_addCameraB(self):
        '''
        Add Camera ModelB
        '''
        result = self.dms.testAddDevice(deviceModelB)
        assert result
        isInDevices = self.dataVerifier.testCorrectnessInDevices()
        assert isInDevices
    
    def testcase_addCameraC(self):
        '''
        Add Camera ModelC
        '''
        result = self.dms.testAddDevice(deviceModelC)
        assert result
        isInDevices = self.dataVerifier.testCorrectnessInDevices()
        assert isInDevices
    
    def testcase_addCameraD(self):
        '''
        Add Camera ModelD
        '''
        result = self.dms.testAddDevice(deviceModelD)
        assert result
        isInDevices = self.dataVerifier.testCorrectnessInDevices()
        assert isInDevices
class TestDeleteCamera(object):
    '''
    Test delete Camera
    '''


    def __init__(self):
        '''
        Init some Service
        '''
        self.deviceManage = DeviceManagementServer()
        self.mysqlData = MysqlDataVerifier()
        
    def setUp(self):
        '''
        The premise:
            need a camera have in device server
        '''
        Config("device-information.cfg").writeToConfig(commonConfige, "snapshot-recording-enabled", "false")
        Config("device-information.cfg").writeToConfig(commonConfige, "cloud-recording-enabled", "false")
        result = self.deviceManage.testAddDevice(deviceModelA)
        assert result
        inresult = self.mysqlData.testCorrectnessInDevices()
        assert inresult
        time.sleep(5)
    
    def tearDown(self):
        '''
        The end:
            need to clear test data when test end
        '''
        self.mysqlData.cleanDeviceInfo()
    
    def testcase_DeleteCamera(self):
        '''
        Test Delete Camera
        '''
        result = self.deviceManage.testDeleteDevice()
        assert result
        
        deleteResu = self.mysqlData.testIfDeviceDeleted()
        assert deleteResu
        
        pass