def METHOD_NAME(self):
    # ignore test if required informations are not provided
    if FLAGS.key_restriction_tests == None or \
      FLAGS.key_restriction_keys_file == None:
        return
    # check file exists
    if os.path.exists(FLAGS.key_restriction_tests) == False:
        print ("API keys restriction tests template not exist.")
        sys.exit(1)
    if os.path.exists(FLAGS.key_restriction_keys_file) == False:
        print ("API keys restriction key file not exist. ")
        sys.exit(1)
    # load api keys
    with open(FLAGS.key_restriction_keys_file) as data_file:
        api_keys = json.load(data_file)
    with open(FLAGS.key_restriction_tests) as data_file:
        # Load template and render
        data_text = data_file.read();
        data_text = data_text.replace('${api_key_ip}', api_keys['ip']);
        data_text = data_text.replace('${api_key_ios}', api_keys['ios']);
        data_text = data_text.replace('${api_key_android}',
                                      api_keys['android']);
        data_text = data_text.replace('${api_key_referrers}',
                                      api_keys['referrers']);
        data = json.loads(data_text)
        # run test cases
        for type, testcases in data.items():
            for testcase in testcases:
                print(testcase['description'])
                response = self._call_http(
                    testcase['path'],
                    api_key=testcase['api_key'],
                    userHeaders=testcase['headers'])
                self.assertEqual(response.status_code,
                    testcase['status_code'])