54ea9371bee72e7b17e0534ad4b32548df77d076
1 from panda3d
.core
import load_prc_file_data
2 load_prc_file_data('', 'window-type none')
3 from pathlib
import Path
5 if '' in sys
.path
: sys
.path
.remove('')
6 sys
.path
.append(str(Path(__file__
).parent
.parent
.parent
))
7 from os
import makedirs
8 from shutil
import rmtree
9 from unittest
import TestCase
10 from unittest
.mock
import patch
, MagicMock
13 from ya2
.utils
.dictfile
import DctFile
19 class MainTests(TestCase
):
22 self
.__optfile
= DctFile('options.ini')
23 self
.__verbose
_val
= self
.__optfile
['development']['verbose_log']
24 makedirs('/tmp/.mount_Pmachines_unit_test/usr/bin', exist_ok
=True)
25 with
open('/tmp/.mount_Pmachines_unit_test/usr/bin/appimage_version.txt', 'w') as f
:
26 f
.write('version_test')
29 self
.__optfile
['development']['verbose_log'] = self
.__verbose
_val
30 self
.__optfile
.store()
31 rmtree('/tmp/.mount_Pmachines_unit_test')
33 def test_logging(self
):
34 self
.assertEqual(logging
.root
.handlers
[0].formatter
._fmt
, '%(asctime)s %(message)s')
35 self
.assertEqual(logging
.root
.handlers
[0].formatter
.datefmt
, '%H:%M:%S')
36 self
.__optfile
['development']['verbose_log'] = 0
37 self
.__optfile
.store()
38 importlib
.reload(main
)
39 self
.assertEqual(logging
.root
.level
, logging
.INFO
)
40 self
.__optfile
['development']['verbose_log'] = 1
41 self
.__optfile
.store()
42 importlib
.reload(main
)
43 self
.assertEqual(logging
.root
.level
, logging
.DEBUG
)
45 def test_update(self
):
46 with (patch
.object(main
, 'argv', ['python -m unittest']),
47 patch
.object(pmachines
.app
, 'argv', ['python -m unittest'])):
49 _main
._Main
__appimage
_builder
.update
= MagicMock()
50 _main
._Main
__pmachines
._fsm
.demand
= MagicMock()
51 _main
._Main
__pmachines
.run
= MagicMock()
53 _main
._Main
__pmachines
.destroy()
54 _main
._Main
__appimage
_builder
.update
.assert_not_called()
55 with (patch
.object(sys
, 'argv', ['python -m unittest', '--update']),
56 patch
.object(pmachines
.app
, 'argv', ['python -m unittest', '--update'])):
58 _main
._Main
__appimage
_builder
.update
= MagicMock()
60 _main
._Main
__pmachines
.destroy()
61 _main
._Main
__appimage
_builder
.update
.assert_called_once()
63 def test_version(self
):
64 with (patch
.object(main
, 'argv', ['python -m unittest']),
65 patch
.object(pmachines
.app
, 'argv', ['python -m unittest'])):
67 _main
._Main
__run
_game
= MagicMock()
69 _main
._Main
__pmachines
.destroy()
70 _main
._Main
__run
_game
.assert_called_once()
71 with (patch
.object(main
, 'argv', ['python -m unittest', '--version']),
72 patch
.object(pmachines
.app
, 'argv', ['python -m unittest', '--version'])):
74 _main
._Main
__run
_game
= MagicMock()
76 _main
._Main
__pmachines
.destroy()
77 _main
._Main
__run
_game
.assert_not_called()
79 @patch.object(main
, 'argv', ['python -m unittest'])
80 @patch.object(pmachines
.app
, 'argv', ['python -m unittest'])
81 def test_run_game(self
):
83 _main
._Main
__pmachines
.run
= MagicMock()
85 _main
._Main
__pmachines
.destroy()
86 _main
._Main
__pmachines
.run
.assert_called_once()
88 @patch.object(pmachines
.app
, 'argv', ['python -m unittest'])
89 @patch.object(main
, 'argv', ['python -m unittest'])
90 @patch.object(main
, 'print_exc')
91 def test_run_game_exception(self
, print_exc_mock
):
93 _main
._Main
__pmachines
.run
= MagicMock(side_effect
=Exception)
95 _main
._Main
__pmachines
.destroy()
96 _main
._Main
__pmachines
.run
.trowed_exception()
97 print_exc_mock
.assert_called_once()