Merge pull request #568 from GNS3/watch_dynamips_change

Watch for dynamips rom & nvram change
This commit is contained in:
Jeremy Grossmann authored and GitHub committed 2016-06-14 11:58:42 -06:00
commit 3aea16c527
4 files changed
+97 -22

No files matched your search

+23 -4
View File
@@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import pytest
import asyncio
from unittest.mock import MagicMock
@@ -22,11 +23,12 @@ from unittest.mock import MagicMock
from gns3server.utils.file_watcher import FileWatcher
def test_file_watcher(async_run, tmpdir):
@pytest.mark.parametrize("strategy", ['mtime', 'hash'])
def test_file_watcher(async_run, tmpdir, strategy):
file = tmpdir / "test"
file.write("a")
callback = MagicMock()
fw = FileWatcher(file, callback, delay=0.5)
fw = FileWatcher(file, callback, delay=0.5, strategy=strategy)
async_run(asyncio.sleep(1))
assert not callback.called
file.write("b")
@@ -34,12 +36,29 @@ def test_file_watcher(async_run, tmpdir):
callback.assert_called_with(str(file))
def test_file_watcher_not_existing(async_run, tmpdir):
@pytest.mark.parametrize("strategy", ['mtime', 'hash'])
def test_file_watcher_not_existing(async_run, tmpdir, strategy):
file = tmpdir / "test"
callback = MagicMock()
fw = FileWatcher(file, callback, delay=0.5)
fw = FileWatcher(file, callback, delay=0.5, strategy=strategy)
async_run(asyncio.sleep(1))
assert not callback.called
file.write("b")
async_run(asyncio.sleep(1.5))
callback.assert_called_with(str(file))
@pytest.mark.parametrize("strategy", ['mtime', 'hash'])
def test_file_watcher_list(async_run, tmpdir, strategy):
file = tmpdir / "test"
file.write("a")
file2 = tmpdir / "test2"
callback = MagicMock()
fw = FileWatcher([file, file2], callback, delay=0.5, strategy=strategy)
async_run(asyncio.sleep(1))
assert not callback.called
file2.write("b")
async_run(asyncio.sleep(1.5))
callback.assert_called_with(str(file2))