def process_make(self, event_args, ops_counter): process_debug_log("Count %d ProcessMakeResponse node_id %d of user_id %s" % (ops_counter, int(event_args[TraceProcessor.csv_node_id]), int(event_args[TraceProcessor.csv_user_id]))) user_id = int(event_args[TraceProcessor.csv_user_id]) node_id = int(event_args[TraceProcessor.csv_node_id]) is_folder = event_args[TraceProcessor.csv_node_type] == "Directory" friend_id = int(event_args[TraceProcessor.csv_friend_id]) friend = TraceProcessor.all_users_dict[friend_id] workspace = friend.shared_folder_id oauth = friend.oauth is_ss_provider = friend.provider == "SS" server_id = None url = "NULL" start = time.time() try: start = time.time() response = make(oauth, node_id, workspace, is_folder, is_ss_provider) end = time.time() url = response.url if response.status_code == 201: json_data = json.loads(response.text) server_id = str(json_data["id"]) elapsed = end - start process_log(str(ops_counter), str(repr(start)), str(repr(event_args[TraceProcessor.csv_queued_tstamp])), str(user_id), str(event_args[TraceProcessor.csv_user_type]), str(event_args[TraceProcessor.csv_req_type]), str(TraceProcessor.all_users_dict[user_id].provider), str(TraceProcessor.all_users_dict[friend_id].provider), str(friend_id), str(server_id), str(event_args[TraceProcessor.csv_node_type]), "NULL", str(elapsed), str(len(TraceProcessor.all_users_dict[user_id].friends_id_factor_dict)), url=str(url)) elif (response.status_code == 400 or response.status_code == 403) and "already" in response.text: elapsed = end - start start = time.time() response = list_content(oauth, parent_id=workspace, is_ss_provider=is_ss_provider) end = time.time() json_data = response.json() content_root = json_data["contents"] server_id = None for tuppla in content_root: try: name = tuppla["filename"] is_response_folder = tuppla["is_folder"] if name == str(node_id) and is_folder == is_response_folder: server_id = tuppla["id"] break except KeyError: process_debug_log("Failed to extract file_id form get_content at %s" % (response.url)) elapsed += end - start error_msg = "existing_make" size = "NULL" process_log(str(ops_counter), str(repr(time.time())), str(repr(event_args[TraceProcessor.csv_queued_tstamp])), str(user_id), str(event_args[TraceProcessor.csv_user_type]), str(event_args[TraceProcessor.csv_req_type]), str(TraceProcessor.all_users_dict[user_id].provider), str(TraceProcessor.all_users_dict[friend_id].provider), str(friend_id), str(server_id), str(event_args[TraceProcessor.csv_node_type]), str(size), elapsed, str(len(TraceProcessor.all_users_dict[user_id].friends_id_factor_dict)), url=str(url), error_msg=error_msg) else: raise ValueError( "Error on response with status_code %d and text {%s}" % (response.status_code, response.text)) if server_id is not None: if node_id not in friend.node_server_id_dict: friend.node_server_id_dict[node_id] = server_id if is_folder and server_id not in friend.workspace_folders: friend.workspace_folders.append(server_id) elif not is_folder and server_id not in friend.workspace_files: friend.workspace_files.append(server_id) return 0 except Exception as e: trace = event_args exception = type(e) error_msg = e.message args = e.args size = "NULL" level = "ERROR" if server_id is None: server_id = node_id elapsed = time.time() - start process_log(str(ops_counter), str(repr(start)), str(repr(event_args[TraceProcessor.csv_queued_tstamp])), str(user_id), str(event_args[TraceProcessor.csv_user_type]), str(event_args[TraceProcessor.csv_req_type]), str(TraceProcessor.all_users_dict[user_id].provider), str(TraceProcessor.all_users_dict[friend_id].provider), str(friend_id), str(server_id), str(event_args[TraceProcessor.csv_node_type]), str(size), str(elapsed), str(len(TraceProcessor.all_users_dict[user_id].friends_id_factor_dict)), str(TraceProcessor.has_error_code), str(trace), str(exception), str(error_msg), str(args), str(level), url=str(url)) return TraceProcessor.has_error_code
def test_api(current_path): is_ss_provider = False create_test_user(is_ss_provider) user = users_dict.popitem()[1] root = user.shared_folder_id oauth = user.oauth file_name = "file5" folder_name = "folder5" is_folder = True start = time.time() response = make(oauth, folder_name, parent_id=root, is_folder=is_folder, is_ss_provider=is_ss_provider) end = time.time() print "MAKE folder elapsed;", (end - start) if response.status_code == 201: json_data = json.loads(response.text) folder_id = str(json_data["id"]) elif (response.status_code == 400 or response.status_code == 403) and "already" in response.text: response = list_content(oauth, parent_id=root, is_ss_provider=is_ss_provider) json_data = response.json() content_root = json_data["contents"] folder_id = None for tuppla in content_root: try: name = tuppla["filename"] is_response_folder = tuppla["is_folder"] if name == folder_name and is_folder == is_response_folder: folder_id = tuppla["id"] break except KeyError: raise ValueError("ERROR MAKE Folder: Failed to extract folder_id form get_content at %s" % (response.url)) else: raise ValueError( "ERROR MAKE Folder: response with status_code %d and text {%s}" % (response.status_code, response.text)) print "Folder_id=", folder_id is_folder = False start = time.time() response = make(oauth, file_name, parent_id=folder_id, is_folder=is_folder, is_ss_provider=is_ss_provider) end = time.time() print "MAKE file elapsed;", (end - start) if response.status_code == 201: json_data = json.loads(response.text) server_id = str(json_data["id"]) elif (response.status_code == 400 or response.status_code == 403) and "already" in response.text: response = list_content(oauth, parent_id=root, is_ss_provider=is_ss_provider) json_data = response.json() content_root = json_data["contents"] server_id = None for tuppla in content_root: try: name = tuppla["filename"] is_response_folder = tuppla["is_folder"] if name == folder_name and is_folder == is_response_folder: server_id = tuppla["id"] break except KeyError: raise ValueError("ERROR MAKE File: Failed to extract file_id form get_content at %s" % (response.url)) else: raise ValueError( "ERROR MAKE File: response with status_code %d and text {%s}" % (response.status_code, response.text)) print "File_id", server_id file_path = current_path + "/../README.md" start = time.time() response = put_content(oauth, server_id, file_path, is_ss_provider=is_ss_provider) end = time.time() print "PUT file elapsed;", (end - start) if not (response.status_code == 200 or response.status_code == 201): raise ValueError( "ERROR PUT File: response with status_code %d and text {%s}" % (response.status_code, response.text)) start = time.time() response = get_content(oauth, server_id, is_ss_provider=is_ss_provider) end = time.time() print "GET file elapsed;", (end - start) if response.status_code != 200: raise ValueError( "ERROR GET File: response with status_code %d and text {%s}" % (response.status_code, response.text)) start = time.time() response = unlink(oauth, server_id, is_folder=False, is_ss_provider=is_ss_provider) end = time.time() print "DELETE file elapsed;", (end - start) if response.status_code != 200: raise ValueError( "ERROR DELETE File: response with status_code %d and text {%s}" % (response.status_code, response.text)) start = time.time() response = unlink(oauth, folder_id, is_folder=True, is_ss_provider=is_ss_provider) end = time.time() print "DELETE folder elapsed;", (end - start) if response.status_code != 200: raise ValueError( "ERROR DELETE Folder: response with status_code %d and text {%s}" % (response.status_code, response.text))