def test_update_folder(self, test_app): with test_app.app_context(): folder = FolderDB.create(**TEST_FOLDER) updated_folder = FolderDB.update(**TEST_FOLDER_UPDATED) for (key, value) in TEST_FOLDER_UPDATED.items( ): # Make sure all values are updated as expected assert updated_folder.__getattribute__(key) == value assert folder.__getattribute__( key) == updated_folder.__getattribute__(key)
def test_list_all_folders(self, test_app): with test_app.app_context(): folder1 = FolderDB.create(**TEST_FOLDER) folder2 = FolderDB.create(**TEST_FOLDER_2) folder_list = FolderDB.list_all() assert len(folder_list) == 2 assert folder2 == folder_list[ 0] # folder2 has lower id so be first in the list assert folder1 == folder_list[1]
def test_delete_folder(self, test_app): with test_app.app_context(): folder = FolderDB.create(**TEST_FOLDER) get_folder = FolderDB.get(TEST_FOLDER['id']) assert get_folder is not None # Make sure the user is retrieved deleted_folder = FolderDB.delete(TEST_FOLDER['id']) assert folder is deleted_folder # Make sure the same object is referenced get_folder = FolderDB.get(TEST_FOLDER['id']) assert get_folder is None # Make sure the user is not retrieved
def test_create_folder_no_media(self, test_app): with test_app.app_context(): folder = FolderDB.create(**TEST_FOLDER_NO_MEDIA) for (key, value) in TEST_FOLDER_NO_MEDIA.items( ): # Make sure all fields are stored correctly assert folder.__getattribute__(key) == value assert folder.__getattribute__('media') is None
def test_create_folder(self, test_app): with test_app.app_context(): folder = FolderDB.create(**TEST_FOLDER) for (key, value) in TEST_FOLDER.items( ): # Make sure all fields are stored correctly assert folder.__getattribute__(key) == value assert folder.synchronized == datetime.min
def test_load_folder_update_interval(self, test_app): with test_app.app_context(): FolderDB.create(**TEST_FOLDER) folder = FolderDB.load_folder(TEST_FOLDER['id']) last_synchronized = folder.synchronized # Store when the folder was synchronized folder = FolderDB.load_folder( TEST_FOLDER['id'], force_sync=False, auto_sync_interval=10) # Load folder from db without sync assert folder.synchronized == last_synchronized # Test that the folder was not synchronized time.sleep(1) # Sleep to allow the auto_sync_interval folder = FolderDB.load_folder( TEST_FOLDER['id'], force_sync=False, auto_sync_interval=0.5) # sync folder assert folder.synchronized > last_synchronized # Test that the folder was synchronized
def folder(folder_id=TEST_FOLDER_ID ): # TODO: Change default folder to a more useful folder. if 'user_id' in session: loaded_folder = FolderDB.load_folder(folder_id=folder_id) meta_folders = FOLDERS # The folder metas for all folders are loaded to display at top of the screen return render_template('folder.jinja2', meta_folders=meta_folders, folder=loaded_folder) else: flash('Log in first.', 'message') return redirect(url_for('home.login'))
def test_load_folder(self, test_app): with test_app.app_context(): initial_folder = FolderDB.create(**TEST_FOLDER) folder = FolderDB.load_folder( TEST_FOLDER['id'] ) # folder should synchronize because it was just created last_synchronized = folder.synchronized assert initial_folder is folder # Test that they reference the same object assert last_synchronized > \ datetime.now() - timedelta(seconds=1) # Test if synchronized time is set to (almost) now assert len(FolderDB.get_items_in_folder( folder.id)) != 0 # Test if there are items in the folder now folder2 = FolderDB.load_folder( folder.id, force_sync=False, auto_sync_interval=10 ) # Load the folder from the database (no sync) assert folder is folder2 folder3 = FolderDB.load_folder( folder.id, force_sync=True) # Force load the folder from API assert folder is folder3
def test_get_folder(self, test_app): with test_app.app_context(): folder = FolderDB.create(**TEST_FOLDER) other_folder = FolderDB.get(TEST_FOLDER['id']) assert folder is other_folder
def test_load_folder_not_in_db(self, test_app): with test_app.app_context(): with pytest.raises(NotInDatabaseException): folder = FolderDB.load_folder(TEST_FOLDER['id'])
def test_get_items_in_folder(self, test_app): with test_app.app_context(): folder = FolderDB.create(**TEST_FOLDER) items = FolderDB.get_items_in_folder(folder.id) assert len(items) == 0 # Make sure there are no items in