-- manually add lib dir to lua package path package.path = package.path .. ';../files/lib/?.lua' require('os') require('io') local luaunit = require('luaunit') local restore_unmanaged = assert(loadfile( "../files/sbin/openwisp-restore-unmanaged.lua")) local write_dir = './unmanaged/' TestRestoreUnmanaged = { setUp = function() os.execute('mkdir ' .. write_dir) os.execute('cp ./config/network ./restore/network-backup') os.execute('cp ./restore/network ' .. write_dir) end, tearDown = function() os.execute('mv ./restore/network-backup ./config/network') os.execute('rm -rf ' .. write_dir) end } function TestRestoreUnmanaged.test_empty() restore_unmanaged('--test=1') os.execute('rm -rf ' .. write_dir) local file = io.open(write_dir .. 'network') luaunit.assertNil(file) end function TestRestoreUnmanaged.test_default() restore_unmanaged('--test=1') local file = io.open(write_dir .. 'network') luaunit.assertNotNil(file) local contents = file:read('*all') luaunit.assertNotNil(string.find(contents, "option unmanaged_test '1'")) luaunit.assertNotNil(string.find(contents, "option ifname 'eth0'")) luaunit.assertNil(string.find(contents, "option test_restore '1'")) end function TestRestoreUnmanaged.test_duplicate() restore_unmanaged('--test=1') restore_unmanaged('--test=1') local file = io.open(write_dir .. 'network') luaunit.assertNotNil(file) local contents = file:read('*all') local _, count = string.gsub(contents, "list ipaddr '10.0.0.1/24'", "") luaunit.assertEquals(count, 1) end os.exit(luaunit.LuaUnit.run())