summary refs log tree commit diff stats
path: root/init.go
Commit message (Expand)AuthorAgeFilesLines
* expanded -m help text to cover landing page customization, example api queriesBen Morrison2019-06-041-25/+150
* adding version to index template v0.2.0Ben Morrison2019-06-031-0/+1
* version const updatedBen Morrison2019-06-031-2/+2
* bugfix: more incorrectly logged errorsBen Morrison2019-05-311-5/+5
* added -m flag for config manual to -h screenBen Morrison2019-05-281-0/+2
* configuration via flags is more flexible.Ben Morrison2019-05-281-20/+133
* removed extraneous commentsBen Morrison2019-05-271-17/+1
* flags for config file/type, added to -hBen Morrison2019-05-271-15/+44
* changed config format to yaml, commented config fileBen Morrison2019-05-271-1/+1
* caching some static assetsBen Morrison2019-05-231-0/+13
* configuration init changesBen Morrison2019-05-231-88/+57
* runtime bugs re: http400 and database reading on startupBen Morrison2019-05-211-0/+8
* runtime bugs related to api outputBen Morrison2019-05-211-1/+1
* rename closeLog channelBen Morrison2019-05-211-5/+5
* missing mutex rlock for confobjBen Morrison2019-05-211-0/+2
* review of db functionsBen Morrison2019-05-211-10/+6
* database push/pull functionsBen Morrison2019-05-211-5/+27
* added cache update / db push intervals to conf;Ben Morrison2019-05-211-9/+86
* fleshed out POST handler, added remote registry listBen Morrison2019-05-211-0/+3
* endpoint query function addedBen Morrison2019-05-201-1/+7
* template initialization addedBen Morrison2019-05-131-9/+22
* fixed viper config parsing resulting in build errorsBen Morrison2019-05-131-2/+8
* help messageBen Morrison2019-05-131-1/+2
* changing flagsBen Morrison2019-05-131-8/+14
* handling viper error when binding to pflagsBen Morrison2019-05-131-1/+3
* watching for ^C. added comments.Ben Morrison2019-05-131-0/+25
* passing logfile as var to closing goroutine to prevent race conditionBen Morrison2019-05-121-9/+9
* added stdoutLogging bool and related configurationBen Morrison2019-05-121-26/+54
* config fleshed out; using viper+pflagBen Morrison2019-05-121-2/+76
* logging initialization in init()Ben Morrison2019-05-111-0/+27
class="kn">from ranger.fsobject.directory import Directory from ranger.shared.settings import SettingsAware SettingsAware._setup() TESTDIR = realpath(join(dirname(__file__), 'testdir')) TESTFILE = join(TESTDIR, 'testfile5234148') NONEXISTANT_DIR = join(TESTDIR, 'nonexistant') import unittest class Test1(unittest.TestCase): def test_initial_condition(self): # Check for the expected initial condition dir = Directory(TESTDIR) self.assertEqual(dir.path, TESTDIR) self.assertFalse(dir.content_loaded) self.assertEqual(dir.filenames, None) self.assertEqual(dir.files, None) self.assertRaises(fsobject.NotLoadedYet, len, dir) def test_after_content_loaded(self): import os # Check whether the directory has the correct list of filenames. dir = Directory(TESTDIR) dir.load_content() self.assertTrue(dir.exists) self.assertEqual(type(dir.filenames), list) # Get the filenames you expect it to have and sort both before # comparing. I don't expect any order after only loading the filenames. assumed_filenames = os.listdir(TESTDIR) assumed_filenames = list(map(lambda str: os.path.join(TESTDIR, str), assumed_filenames)) assumed_filenames.sort() dir.filenames.sort() self.assertTrue(len(dir) > 0) self.assertEqual(dir.filenames, assumed_filenames) # build a file object for each file in the list assumed_filenames # and find exactly one equivalent in dir.files for name in assumed_filenames: f = File(name) f.load() for dirfile in dir.files: if (f.path == dirfile.path and f.stat == dirfile.stat): break else: self.fail("couldn't find file {0}".format(name)) def test_nonexistant_dir(self): dir = Directory(NONEXISTANT_DIR) dir.load_content() self.assertTrue(dir.content_loaded) self.assertFalse(dir.exists) self.assertFalse(dir.accessible) self.assertEqual(dir.filenames, None) self.assertRaises(fsobject.NotLoadedYet, len, dir) def test_load_if_outdated(self): import os import time # modify the directory. If the time between the last modification # was within the filesystems resolution of mtime, we should have a reload def modify_dir(): open(TESTFILE, 'w').close() os.unlink(TESTFILE) def mtime(): return os.stat(TESTDIR).st_mtime dir = Directory(TESTDIR) dir.load() # If the modification happens to be in the same second as the # last modification, it will result in mtime having the same # integer value. So we wait until the resolution is exceeded # and mtime differs. old_mtime = mtime() for i in range(50): modify_dir() if old_mtime != mtime(): break time.sleep(0.1) else: # fail after 5 seconds of trying self.fail( "Cannot perform test: mtime of TESTDIR is not being updated.") self.assertTrue(dir.load_if_outdated()) if __name__ == '__main__': unittest.main()