def test_delete_folder_error(foss_server: str, foss: Fossology): folder = Folder(secrets.randbelow(1000), "Folder", "", foss.rootFolder) responses.add( responses.DELETE, f"{foss_server}/api/v1/folders/{folder.id}", status=404 ) with pytest.raises(FossologyApiError) as excinfo: foss.delete_folder(folder) assert f"Unable to delete folder {folder.id}" in str(excinfo.value)
def test_delete_folder(foss: Fossology): folder = foss.create_folder(foss.rootFolder, "ToBeDeleted", "Test folder deletion via API") foss.delete_folder(folder) time.sleep(3) with pytest.raises(FossologyApiError) as excinfo: foss.detail_folder(folder) assert f"Error while getting details for folder ToBeDeleted ({folder.id})" in str( excinfo.value)
def test_copy_upload(foss: Fossology, upload: Upload): copy_upload_folder = foss.create_folder(foss.rootFolder, "CopyUploadFolder") foss.copy_upload(upload, copy_upload_folder) copied_upload = foss.detail_upload(upload.id) assert copied_upload # Upload should be visible twice but it isn't # Bug or Feature? # Cleanup foss.delete_folder(copy_upload_folder)
def test_move_folder(foss: Fossology): move_copy_folder = foss.create_folder( foss.rootFolder, "MoveCopyTest", "Test move() and copy() functions" ) test_folder = foss.create_folder( foss.rootFolder, "TestFolder", "Folder to be moved and copied via API" ) test_folder = foss.move_folder(test_folder, move_copy_folder) assert test_folder.parent == move_copy_folder.id # Cleanup foss.delete_folder(move_copy_folder)
def test_update_folder(foss: Fossology): name = "FossPythonFolderUpdate" desc = "Created via the Fossology Python API" update_folder = foss.create_folder(foss.rootFolder, name, desc) name = "NewFolderName" desc = "Updated via the Fossology Python API" update_folder = foss.update_folder(update_folder, name=name, description=desc) assert update_folder.name == name assert update_folder.description == desc # Cleanup foss.delete_folder(update_folder)
def test_create_folder_same_name_different_case(foss: Fossology): name = "FossTest" desc = "Created via the Fossology Python API" test_folder = foss.create_folder(foss.rootFolder, name, description=desc) assert test_folder.name == name assert test_folder.description == desc # Recreate folder with a different name to test API response 200 same_folder = foss.create_folder(foss.rootFolder, "fOSStEST", description=desc) assert test_folder == same_folder # Cleanup foss.delete_folder(test_folder)
def test_create_folder(foss: Fossology): name = "FossPythonTest" desc = "Created via the Fossology Python API" test_folder = foss.create_folder(foss.rootFolder, name, description=desc) assert test_folder.name == name assert test_folder.description == desc # Recreate folder to test API response 200 test_folder = foss.create_folder(foss.rootFolder, name, description=desc) assert test_folder.name == name # Cleanup foss.delete_folder(test_folder)
def test_copy_folder(foss: Fossology): move_copy_folder = foss.create_folder( foss.rootFolder, "MoveCopyTest", "Test move() and copy() functions" ) test_folder = foss.create_folder( foss.rootFolder, "TestFolder", "Folder to be moved and copied via API" ) folder_copy = foss.copy_folder(test_folder, move_copy_folder) folder_list = foss.list_folders() folder_copy = [ folder for folder in folder_list if folder.parent == foss.rootFolder.id and folder.name == "TestFolder" ] assert folder_copy # Cleanup foss.delete_folder(move_copy_folder) foss.delete_folder(folder_copy[0])
def move_folder(foss: Fossology) -> Folder: folder = foss.create_folder(foss.rootFolder, "MoveUploadTest", "Test move upload function") yield folder foss.delete_folder(folder)
def upload_folder(foss: Fossology) -> Folder: name = "FossPythonTestUploads" desc = "Created via the Fossology Python API" folder = foss.create_folder(foss.rootFolder, name, description=desc) yield folder foss.delete_folder(folder)