Beispiel #1
0
 def __splitElement(self, body, attribute_name, attribute_value):
     """
     split the differents lines by \n and return the line associated a a name
     :param body:
     :param name:
     :return:
     """
     temp = body
     i = 1
     list = []
     while len(temp) > 0:
         if temp[i] == "\n":
             list.append(temp[:i])
             temp = temp[i + 1:]
             i = 0
         i = i + 1
         if i == len(temp): break
     for i in range(len(list) - 1, -1,
                    -1):  #from last element in the list until first, desc
         dictTemp = general_utils.convert_str_to_dict(
             list[i], general_utils.JSON)
         if dictTemp[ATTR_NAME] == attribute_name and dictTemp[
                 ATTR_VALUE] == attribute_value:
             return dictTemp
     return NAME_IS_MISSING
Beispiel #2
0
 def verify_version (self):
     """
     Verify if ckan is installed and that version is the expected, default version is 2.0
     """
     if self.ckan_verify_version.lower() == "true":
         resp= http_utils.request(http_utils.GET, url=self.__create_url(VERSION), headers=self.__create_headers())
         body_dict = general_utils.convert_str_to_dict(resp.text, general_utils.JSON)
         assert  self.version == str(body_dict[VERSION]), \
             "Wrong ckan version verified: %s. Expected: %s. \n\nBody content: %s"  % (str(body_dict[VERSION]), str(self.version), str(resp.text))
     return True
Beispiel #3
0
 def verify_if_dataset_exist(self, name):
     """
     Verify if the dataset exist
     :param name: dataset name
     :return: return True if de dataset does not exist, False if it does exist
     """
     resp = http_utils.request(http_utils.GET, url=self.__create_url(PACKAGE_SHOW, name), headers=self.__create_headers())
     if resp.status_code == http_utils.status_codes[http_utils.OK]:
         bodyDict= general_utils.convert_str_to_dict(resp.text, general_utils.JSON)
         self.dataset_id = bodyDict[RESULT][ID]
         return self.dataset_id
     return False
Beispiel #4
0
 def verify_if_organization_exist(self, name):
     """
     Verify if the organization exist
     :param name: organization name
     :return: return True if de organization does not exist, False if it does exist
     """
     resp = http_utils.request(http_utils.GET, url=self.__create_url(ORGANIZATION_LIST, name), headers=self.__create_headers())
     http_utils.assert_status_code(http_utils.status_codes[http_utils.OK], resp, "ERROR - list of the names of the site's organizations...")
     body_dict = general_utils.convert_str_to_dict(resp.text, general_utils.JSON)
     for i in range(len(body_dict[RESULT])):
         if body_dict[RESULT][i] == name: return True
     return False
Beispiel #5
0
 def verify_version(self):
     """
     Verify if ckan is installed and that version is the expected, default version is 2.0
     """
     if self.ckan_verify_version.lower() == "true":
         resp = http_utils.request(http_utils.GET,
                                   url=self.__create_url(VERSION),
                                   headers=self.__create_headers())
         body_dict = general_utils.convert_str_to_dict(
             resp.text, general_utils.JSON)
         assert  self.version == str(body_dict[VERSION]), \
             "Wrong ckan version verified: %s. Expected: %s. \n\nBody content: %s"  % (str(body_dict[VERSION]), str(self.version), str(resp.text))
     return True
Beispiel #6
0
 def create_resource(self, name, dataset_name, fields=[]):
     self.resource = name
     if not(self.verify_if_resource_exist(name, dataset_name)):
         payload = general_utils.convert_dict_to_str({NAME:  self.resource,
                                                      URL: URL_EXAMPLE,
                                                      PACKAGE_ID: self.dataset_id}, general_utils.JSON)
         resp= http_utils.request(http_utils.POST, url=self.__create_url(RESOURCE_CREATE), headers=self.__create_headers(), data=payload)
         http_utils.assert_status_code(http_utils.status_codes[http_utils.OK], resp, "ERROR - creating resource: %s ..." % (name))
         bodyDict= general_utils.convert_str_to_dict(resp.text, general_utils.JSON)
         self.resource_id = bodyDict[RESULT][ID]
         self.__create_datastore_in_resource (self.resource_id, fields)
         return self.resource_id
     return False
Beispiel #7
0
 def verify_if_dataset_exist(self, name):
     """
     Verify if the dataset exist
     :param name: dataset name
     :return: return True if de dataset does not exist, False if it does exist
     """
     resp = http_utils.request(http_utils.GET,
                               url=self.__create_url(PACKAGE_SHOW, name),
                               headers=self.__create_headers())
     if resp.status_code == http_utils.status_codes[http_utils.OK]:
         bodyDict = general_utils.convert_str_to_dict(
             resp.text, general_utils.JSON)
         self.dataset_id = bodyDict[RESULT][ID]
         return self.dataset_id
     return False
Beispiel #8
0
 def verify_if_resource_exist(self, name, dataset_name):
     """
     Verify if the resource exist in a dataset
     :param name: resource name
     :param dataset_id:
     :return: return True if de resource does not exist, False if it does exist
     """
     resp = http_utils.request(http_utils.GET, url=self.__create_url(PACKAGE_SHOW, dataset_name), headers=self.__create_headers())
     if resp.status_code == http_utils.status_codes[http_utils.OK]:
         body_dict = general_utils.convert_str_to_dict(resp.text, general_utils.JSON)
         for i in range(len(body_dict[RESULT][RESOURCES])):
             if body_dict[RESULT][RESOURCES][i][NAME] == name:
                 self.resource_id = body_dict[RESULT][RESOURCES][i][ID]
                 return self.resource_id
     return False
Beispiel #9
0
 def create_dataset (self, name):
     """
     Create a new dataset if it does not exist
     :param name: dataset name
     """
     self.dataset = name
     if not(self.verify_if_dataset_exist( name)):
         payload = general_utils.convert_dict_to_str({NAME:  self.dataset,
                                                      OWNER_ORG: self.organization}, general_utils.JSON)
         resp= http_utils.request(http_utils.POST, url=self.__create_url(PACKAGE_CREATE), headers=self.__create_headers(), data=payload)
         http_utils.assert_status_code(http_utils.status_codes[http_utils.OK], resp, "ERROR - creating dataset: %s ..." % (name))
         bodyDict= general_utils.convert_str_to_dict(resp.text, general_utils.JSON)
         self.dataset_id = bodyDict[RESULT][ID]
         return bodyDict[RESULT][ID]
     return False
Beispiel #10
0
 def verify_if_organization_exist(self, name):
     """
     Verify if the organization exist
     :param name: organization name
     :return: return True if de organization does not exist, False if it does exist
     """
     resp = http_utils.request(http_utils.GET,
                               url=self.__create_url(
                                   ORGANIZATION_LIST, name),
                               headers=self.__create_headers())
     http_utils.assert_status_code(
         http_utils.status_codes[http_utils.OK], resp,
         "ERROR - list of the names of the site's organizations...")
     body_dict = general_utils.convert_str_to_dict(resp.text,
                                                   general_utils.JSON)
     for i in range(len(body_dict[RESULT])):
         if body_dict[RESULT][i] == name: return True
     return False
Beispiel #11
0
 def verify_if_resource_exist(self, name, dataset_name):
     """
     Verify if the resource exist in a dataset
     :param name: resource name
     :param dataset_id:
     :return: return True if de resource does not exist, False if it does exist
     """
     resp = http_utils.request(http_utils.GET,
                               url=self.__create_url(
                                   PACKAGE_SHOW, dataset_name),
                               headers=self.__create_headers())
     if resp.status_code == http_utils.status_codes[http_utils.OK]:
         body_dict = general_utils.convert_str_to_dict(
             resp.text, general_utils.JSON)
         for i in range(len(body_dict[RESULT][RESOURCES])):
             if body_dict[RESULT][RESOURCES][i][NAME] == name:
                 self.resource_id = body_dict[RESULT][RESOURCES][i][ID]
                 return self.resource_id
     return False
Beispiel #12
0
 def create_resource(self, name, dataset_name, fields=[]):
     self.resource = name
     if not (self.verify_if_resource_exist(name, dataset_name)):
         payload = general_utils.convert_dict_to_str(
             {
                 NAME: self.resource,
                 URL: URL_EXAMPLE,
                 PACKAGE_ID: self.dataset_id
             }, general_utils.JSON)
         resp = http_utils.request(http_utils.POST,
                                   url=self.__create_url(RESOURCE_CREATE),
                                   headers=self.__create_headers(),
                                   data=payload)
         http_utils.assert_status_code(
             http_utils.status_codes[http_utils.OK], resp,
             "ERROR - creating resource: %s ..." % (name))
         bodyDict = general_utils.convert_str_to_dict(
             resp.text, general_utils.JSON)
         self.resource_id = bodyDict[RESULT][ID]
         self.__create_datastore_in_resource(self.resource_id, fields)
         return self.resource_id
     return False
Beispiel #13
0
 def __splitElement (self, body, attribute_name, attribute_value):
     """
     split the differents lines by \n and return the line associated a a name
     :param body:
     :param name:
     :return:
     """
     temp = body
     i=1
     list = []
     while len(temp)> 0:
         if temp[i] == "\n":
             list.append(temp[:i])
             temp = temp[i+1:]
             i = 0
         i=i+1
         if i == len(temp): break
     for i in range(len(list)-1, -1, -1):    #from last element in the list until first, desc
         dictTemp = general_utils.convert_str_to_dict(list[i], general_utils.JSON)
         if dictTemp [ATTR_NAME] == attribute_name and  dictTemp [ATTR_VALUE] == attribute_value :
             return dictTemp
     return NAME_IS_MISSING
Beispiel #14
0
 def create_dataset(self, name):
     """
     Create a new dataset if it does not exist
     :param name: dataset name
     """
     self.dataset = name
     if not (self.verify_if_dataset_exist(name)):
         payload = general_utils.convert_dict_to_str(
             {
                 NAME: self.dataset,
                 OWNER_ORG: self.organization
             }, general_utils.JSON)
         resp = http_utils.request(http_utils.POST,
                                   url=self.__create_url(PACKAGE_CREATE),
                                   headers=self.__create_headers(),
                                   data=payload)
         http_utils.assert_status_code(
             http_utils.status_codes[http_utils.OK], resp,
             "ERROR - creating dataset: %s ..." % (name))
         bodyDict = general_utils.convert_str_to_dict(
             resp.text, general_utils.JSON)
         self.dataset_id = bodyDict[RESULT][ID]
         return bodyDict[RESULT][ID]
     return False