def test_it_should_get_configuration_exclusively_from_args_if_not_use_configuration_file_using_config_class_and_execute_with_default_configuration(self, main_mock, execute_mock): run.run_from_argv(['--db-port', 'port', '--db-host', 'host', '--db-endpoint', 'name', '--db-user', 'user', '--db-password', 'pass', '--db-graph', 'graph', '--db-ontology', 'ontology', '--db-migrations-dir', '../migration:.:/tmp', '--log-dir', '../', '--file', 'temp_ttl_file.ttl']) self.assertEqual(1, execute_mock.call_count) execute_mock.assert_called_with() self.assertEqual(1, main_mock.call_count) config_used = main_mock.call_args[0][0] self.assertIsInstance(config_used, simple_virtuoso_migrate.config.Config) self.assertEqual('user', config_used.get('database_user')) self.assertEqual('pass', config_used.get('database_password')) self.assertEqual('name', config_used.get('database_endpoint')) self.assertEqual('host', config_used.get('database_host')) self.assertEqual('port', config_used.get('database_port')) self.assertEqual('graph', config_used.get('database_graph')) self.assertEqual('ontology', config_used.get('database_ontology')) self.assertEqual(os.path.abspath('../migration'), config_used.get("database_migrations_dir")) self.assertEqual(None, config_used.get('schema_version')) self.assertEqual(False, config_used.get('show_sparql')) self.assertEqual(False, config_used.get('show_sparql_only')) self.assertEqual('../', config_used.get('log_dir')) self.assertEqual('temp_ttl_file.ttl', config_used.get('file_migration')) self.assertEqual(1, config_used.get('log_level'))
def test_it_should_activate_use_of_colors(self, show_colors_mock, stdout_mock): try: run.run_from_argv(["--color"]) except SystemExit: pass self.assertEqual(1, show_colors_mock.call_count)
def test_it_should_read_configuration_file_using_fileconfig_class_and_execute_with_default_configuration(self, get_variables_from_file_mock, main_mock, execute_mock): run.run_from_argv(["-c", os.path.abspath('sample.conf')]) get_variables_from_file_mock.assert_called_with(os.path.abspath('sample.conf')) self.assertEqual(1, execute_mock.call_count) execute_mock.assert_called_with() self.assertEqual(1, main_mock.call_count) config_used = main_mock.call_args[0][0] self.assertTrue(isinstance(config_used, simple_virtuoso_migrate.config.FileConfig)) self.assertEqual('root', config_used.get('database_user')) self.assertEqual('', config_used.get('database_password')) self.assertEqual('database', config_used.get('database_endpoint')) self.assertEqual('host', config_used.get('database_host')) self.assertEqual('port', config_used.get('database_port')) self.assertEqual('graph', config_used.get('database_graph')) self.assertEqual('ontology', config_used.get('database_ontology')) self.assertEqual(os.path.abspath('.'), config_used.get("database_migrations_dir")) self.assertEqual(None, config_used.get('schema_version')) self.assertEqual(False, config_used.get('show_sparql')) self.assertEqual(False, config_used.get('show_sparql_only')) self.assertEqual(None, config_used.get('log_dir')) self.assertEqual(None, config_used.get('file_migration')) self.assertEqual(1, config_used.get('log_level'))
def test_it_should_show_help_when_no_args_is_given(self, parse_mock, stdout_mock): parse_mock.return_value = (Mock(simple_virtuoso_migrate_version=True), []) try: run.run_from_argv(None) except SystemExit: pass parse_mock.assert_called_with(["-h"])
def test_it_should_use_cli_to_parse_arguments(self, parse_mock, stdout_mock): parse_mock.return_value = (Mock(simple_virtuoso_migrate_version=True), []) try: run.run_from_argv() except SystemExit: pass self.assertEqual(1, parse_mock.call_count)
def test_it_should_ask_for_password_when_configuration_is_as_ask_me( self, import_file_mock, main_mock, execute_mock, stdout_mock, getpass_mock ): run.run_from_argv(["-c", os.path.abspath("sample.conf")]) config_used = main_mock.call_args[0][0] self.assertEqual("password_asked", config_used.get("database_password")) self.assertEqual( '\nPlease inform password to connect to virtuoso (DATABASE) "root@host:database"\n', stdout_mock.getvalue() )
def test_it_should_get_configuration_exclusively_from_args_if_not_use_configuration_file_using_config_class_and_execute_with_default_configuration( self, main_mock, execute_mock ): run.run_from_argv( [ "--db-port", "port", "--db-host", "host", "--db-endpoint", "name", "--db-user", "user", "--db-password", "pass", "--db-graph", "graph", "--db-ontology", "ontology", "--db-migrations-dir", "../migration:.:/tmp", "--log-dir", "../", "--file", "temp_ttl_file.ttl", ] ) self.assertEqual(1, execute_mock.call_count) execute_mock.assert_called_with() self.assertEqual(1, main_mock.call_count) config_used = main_mock.call_args[0][0] self.assertIsInstance(config_used, simple_virtuoso_migrate.config.Config) self.assertEqual("user", config_used.get("database_user")) self.assertEqual("pass", config_used.get("database_password")) self.assertEqual("name", config_used.get("database_endpoint")) self.assertEqual("host", config_used.get("database_host")) self.assertEqual("port", config_used.get("database_port")) self.assertEqual("graph", config_used.get("database_graph")) self.assertEqual("ontology", config_used.get("database_ontology")) self.assertEqual(os.path.abspath("../migration"), config_used.get("database_migrations_dir")) self.assertEqual(False, config_used.get("show_sparql")) self.assertEqual(False, config_used.get("show_sparql_only")) self.assertEqual("../", config_used.get("log_dir")) self.assertEqual("temp_ttl_file.ttl", config_used.get("file_migration")) self.assertEqual(1, config_used.get("log_level"))
def test_it_should_read_configuration_file_using_fileconfig_class_and_execute_with_default_configuration( self, get_variables_from_file_mock, main_mock, execute_mock ): run.run_from_argv(["-c", os.path.abspath("sample.conf")]) get_variables_from_file_mock.assert_called_with(os.path.abspath("sample.conf")) self.assertEqual(1, execute_mock.call_count) execute_mock.assert_called_with() self.assertEqual(1, main_mock.call_count) config_used = main_mock.call_args[0][0] self.assertTrue(isinstance(config_used, simple_virtuoso_migrate.config.FileConfig)) self.assertEqual("root", config_used.get("database_user")) self.assertEqual("", config_used.get("database_password")) self.assertEqual("database", config_used.get("database_endpoint")) self.assertEqual("host", config_used.get("database_host")) self.assertEqual("port", config_used.get("database_port")) self.assertEqual("graph", config_used.get("database_graph")) self.assertEqual("ontology", config_used.get("database_ontology")) self.assertEqual(os.path.abspath("."), config_used.get("database_migrations_dir")) self.assertEqual(False, config_used.get("show_sparql")) self.assertEqual(False, config_used.get("show_sparql_only")) self.assertEqual(1, config_used.get("log_level"))
def test_it_should_print_simple_virtuoso_migrate_version_and_exit(self, stdout_mock): try: run.run_from_argv(["-v"]) except SystemExit, e: self.assertEqual(0, e.code)
def test_it_should_use_values_from_config_file_in_replacement_for_command_line(self, import_file_mock, main_mock, execute_mock): run.run_from_argv(["-c", os.path.abspath('sample.conf')]) config_used = main_mock.call_args[0][0] self.assertEqual('version', config_used.get('schema_version'))
def test_it_should_use_password_from_command_line_when_configuration_is_as_ask_me(self, import_file_mock, main_mock, execute_mock): run.run_from_argv(["-c", os.path.abspath('sample.conf'), '--db-password', 'xpto_pass']) config_used = main_mock.call_args[0][0] self.assertEqual('xpto_pass', config_used.get('database_password'))
def test_it_should_use_log_level_as_specified(self, import_file_mock, main_mock, execute_mock): run.run_from_argv(["-c", os.path.abspath('sample.conf'), '--log-level', 4]) config_used = main_mock.call_args[0][0] self.assertEqual(4, config_used.get('log_level'))
def test_it_should_print_message_and_exit_when_an_error_happen(self, stdout_mock, show_colors_mock): show_colors_mock.side_effect = Exception('occur an error') try: run.run_from_argv(["--color"]) except SystemExit, e: self.assertEqual(1, e.code)
def test_it_should_print_message_and_exit_when_user_interrupt_execution(self, stdout_mock, show_colors_mock): show_colors_mock.side_effect = KeyboardInterrupt() try: run.run_from_argv(["--color"]) except SystemExit, e: self.assertEqual(0, e.code)