class ITC0905_DeleteProfile(BaseTestCase):
    """
    @summary: ITC-06配置集管理-05删除配置集
    """

    def setUp(self):
        self.dm = super(self.__class__, self).setUp()
        self.nwapi = NetworkAPIs()
        # 首先网络并获取其id
        LogPrint().info("Pre-Test-1: Create a network %s for TC." % self.dm.nw_name)
        self.nw_id = self.nwapi.createNetwork(self.dm.nw_info)["result"]["network"]["@id"]
        # 为网络创建一个配置集
        LogPrint().info("Pre-Test-2: Create a profile %s for this network." % self.dm.profile_name)
        self.proapi = ProfilesAPIs()
        self.proapi.createProfiles(self.dm.profile_info, self.nw_id)

    def test_DeleteProfile(self):
        """
        @summary: 删除配置集
        @note: 操作成功,验证返回状态码,验证配置集是否存在
        """
        self.flag = True
        LogPrint().info("Test: Delete profile %s." % self.dm.profile_name)
        r = self.proapi.delProfile(self.dm.profile_name, self.nw_id)
        if r["status_code"] == self.dm.expected_status_code:
            if not self.proapi.isExist(self.dm.profile_name, self.nw_id):
                LogPrint().info("PASS: Delete profile %s SUCCESS." % self.dm.profile_name)
            else:
                LogPrint().error("FAIL: Profile %s is still exist." % self.dm.profile_name)
                self.flag = False
        else:
            LogPrint().error("FAIL: The returned status code is '%s', INCORRECT. " % r["status_code"])
            self.flag = False
        self.assertTrue(self.flag)

    def tearDown(self):
        # 删除该网络,清空环境
        LogPrint().info("Post-Test: Delete the network %s." % self.dm.nw_name)
        self.nwapi.delNetwork(self.dm.nw_name, self.dm.dc_name)
class ITC0905_DeleteProfile(BaseTestCase):
    '''
    @summary: ITC-06配置集管理-05删除配置集
    '''
    def setUp(self):
        self.dm = super(self.__class__, self).setUp()
        self.nwapi = NetworkAPIs()  
        #首先网络并获取其id
        LogPrint().info("Pre-Test-1: Create a network %s for TC."%self.dm.nw_name)
        self.nw_id = self.nwapi.createNetwork(self.dm.nw_info)['result']['network']['@id']
        #为网络创建一个配置集
        LogPrint().info("Pre-Test-2: Create a profile %s for this network."%self.dm.profile_name)
        self.proapi = ProfilesAPIs()
        self.proapi.createProfiles(self.dm.profile_info, self.nw_id)
        
    def test_DeleteProfile(self):
        '''
        @summary: 删除配置集
        @note: 操作成功,验证返回状态码,验证配置集是否存在
        '''  
        self.flag = True
        LogPrint().info("Test: Delete profile %s."%self.dm.profile_name)
        r = self.proapi.delProfile(self.dm.profile_name, self.nw_id)
        if r['status_code'] == self.dm.expected_status_code:
            if not self.proapi.isExist(self.dm.profile_name, self.nw_id):
                LogPrint().info("PASS: Delete profile %s SUCCESS."%self.dm.profile_name)
            else:
                LogPrint().error("FAIL: Profile %s is still exist."%self.dm.profile_name)
                self.flag = False
        else:
            LogPrint().error("FAIL: The returned status code is '%s', INCORRECT. " % r['status_code'])
            self.flag = False
        self.assertTrue(self.flag) 
        
    def tearDown(self):
        #删除该网络,清空环境
        LogPrint().info("Post-Test: Delete the network %s."%self.dm.nw_name)
        self.nwapi.delNetwork(self.dm.nw_name, self.dm.dc_name)