def test_pictureroot2_chosen(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     view.reply_file_chooser_dialog.append("chosen")
     presenter = ConnMgrPresenter(view)
     presenter.on_pictureroot2_btnbrowse_clicked()
     presenter.on_text_entry_changed("pictureroot2_entry")
     self.assertEquals(presenter.pictureroot, "chosen")
 def test_pictureroot2_not_chosen(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     presenter.pictureroot = "previously"
     presenter.on_pictureroot2_btnbrowse_clicked()
     self.assertEquals(presenter.pictureroot, "previously")
Exemplo n.º 3
0
    def test_on_dialog_response_ok_creates_picture_folders_no_exist(self):
        # make sure thumbnails and pictures folder do not exist.
        import tempfile
        path = tempfile.mktemp()
        # create view and presenter.
        view = MockView(combos={'name_combo': [],
                                'type_combo': []})
        prefs.prefs[bauble.conn_list_pref] = {
            'nugkui': {'default': False,
                       'pictures': path,
                       'type': 'SQLite',
                       'file': path + '.db'}}
        (prefs.prefs[prefs.picture_root_pref],
         prefs.prefs[bauble.conn_default_pref],
         ) = os.path.split(path)
        view.reply_file_chooser_dialog = []
        presenter = ConnMgrPresenter(view)
        dialog = MockDialog()
        view.invoked = []
        # invoke action
        presenter.on_dialog_response(dialog, RESPONSE_OK)

        # check existence of pictures folder
        self.assertTrue(os.path.isdir(path))
        # check existence of thumbnails folder
        self.assertTrue(os.path.isdir(os.path.join(path, 'thumbs')))
Exemplo n.º 4
0
    def test_on_dialog_response_ok_creates_picture_folders_half_exist(self):
        # make sure pictures and thumbs folders respectively do and do not
        # already exist as folders.
        import tempfile
        path = tempfile.mktemp()
        os.mkdir(path)
        view = MockView(combos={'name_combo': [],
                                'type_combo': []})
        prefs.prefs[bauble.conn_list_pref] = {
            'nugkui': {'default': False,
                       'pictures': path,
                       'type': 'SQLite',
                       'file': path + '.db'}}
        (prefs.prefs[prefs.picture_root_pref],
         prefs.prefs[bauble.conn_default_pref],
         ) = os.path.split(path)
        view.reply_file_chooser_dialog = []
        presenter = ConnMgrPresenter(view)
        dialog = MockDialog()
        view.invoked = []
        # invoke action
        presenter.on_dialog_response(dialog, RESPONSE_OK)

        # superfluous action is not performed, view is closed
        # check existence of pictures folder
        self.assertTrue(os.path.isdir(path))
        # check existence of thumbnails folder
        self.assertTrue(os.path.isdir(os.path.join(path, 'thumbs')))
Exemplo n.º 5
0
    def test_on_dialog_response_ok_creates_picture_folders_half_exist(self):
        # make sure pictures and thumbs folders respectively do and do not
        # already exist as folders.
        import tempfile
        path = tempfile.mktemp()
        os.mkdir(path)
        view = MockView(combos={'name_combo': [],
                                'type_combo': []})
        prefs.prefs[bauble.conn_list_pref] = {
            'nugkui': {'default': False,
                       'pictures': path,
                       'type': 'SQLite',
                       'file': path + '.db'}}
        (prefs.prefs[prefs.picture_root_pref],
         prefs.prefs[bauble.conn_default_pref],
         ) = os.path.split(path)
        view.reply_file_chooser_dialog = []
        presenter = ConnMgrPresenter(view)
        dialog = MockDialog()
        view.invoked = []
        # invoke action
        presenter.on_dialog_response(dialog, RESPONSE_OK)

        # superfluous action is not performed, view is closed
        # check existence of pictures folder
        self.assertTrue(os.path.isdir(path))
        # check existence of thumbnails folder
        self.assertTrue(os.path.isdir(os.path.join(path, 'thumbs')))
Exemplo n.º 6
0
    def test_on_dialog_response_ok_creates_picture_folders_no_exist(self):
        # make sure thumbnails and pictures folder do not exist.
        import tempfile
        path = tempfile.mktemp()
        # create view and presenter.
        view = MockView(combos={'name_combo': [],
                                'type_combo': []})
        prefs.prefs[bauble.conn_list_pref] = {
            'nugkui': {'default': False,
                       'pictures': path,
                       'type': 'SQLite',
                       'file': path + '.db'}}
        (prefs.prefs[prefs.picture_root_pref],
         prefs.prefs[bauble.conn_default_pref],
         ) = os.path.split(path)
        view.reply_file_chooser_dialog = []
        presenter = ConnMgrPresenter(view)
        dialog = MockDialog()
        view.invoked = []
        # invoke action
        presenter.on_dialog_response(dialog, RESPONSE_OK)

        # check existence of pictures folder
        self.assertTrue(os.path.isdir(path))
        # check existence of thumbnails folder
        self.assertTrue(os.path.isdir(os.path.join(path, 'thumbs')))
Exemplo n.º 7
0
 def test_pictureroot2_not_chosen(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     presenter.pictureroot = 'previously'
     presenter.on_pictureroot2_btnbrowse_clicked()
     self.assertEquals(presenter.pictureroot, 'previously')
Exemplo n.º 8
0
 def test_file_not_chosen(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     presenter.filename = 'previously'
     presenter.on_file_btnbrowse_clicked()
     self.assertEquals(presenter.filename, 'previously')
Exemplo n.º 9
0
 def test_pictureroot_chosen(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     view.reply_file_chooser_dialog.append('chosen')
     presenter = ConnMgrPresenter(view)
     presenter.on_pictureroot_btnbrowse_clicked()
     presenter.on_text_entry_changed('pictureroot_entry')
     self.assertEquals(presenter.pictureroot, 'chosen')
 def test_on_dialog_response_cancel(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     dialog = MockDialog()
     view.reply_yes_no_dialog = [False]
     presenter.on_dialog_response(dialog, RESPONSE_CANCEL)
     self.assertFalse("run_message_dialog" in view.invoked)
     self.assertTrue(dialog.hidden)
 def test_on_dialog_response_ok_invalid_params(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {}
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     dialog = MockDialog()
     presenter.on_dialog_response(dialog, RESPONSE_OK)
     self.assertTrue("run_message_dialog" in view.invoked)
     self.assertTrue(dialog.hidden)
 def test_no_connection_on_add_confirm_negative(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append("")
     presenter.on_add_button_clicked("button")
     ## nothing changes
     self.assertFalse(presenter.view.widget_get_visible("expander"))
     self.assertTrue(presenter.view.widget_get_visible("noconnectionlabel"))
Exemplo n.º 13
0
 def test_on_dialog_response_ok_invalid_params(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {}
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     dialog = MockDialog()
     presenter.on_dialog_response(dialog, RESPONSE_OK)
     self.assertTrue('run_message_dialog' in view.invoked)
     self.assertTrue(dialog.hidden)
Exemplo n.º 14
0
 def test_on_dialog_response_cancel(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     dialog = MockDialog()
     view.reply_yes_no_dialog = [False]
     presenter.on_dialog_response(dialog, RESPONSE_CANCEL)
     self.assertFalse('run_message_dialog' in view.invoked)
     self.assertTrue(dialog.hidden)
 def test_set_default_toggles_sensitivity(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_default_pref] = "nugkui"
     prefs.prefs[bauble.conn_list_pref] = {
         "nugkui": {"type": "SQLite", "default": True, "pictures": "nugkui", "file": "nugkui.db"}
     }
     presenter = ConnMgrPresenter(view)
     view.widget_set_value("usedefaults_chkbx", True)
     presenter.on_usedefaults_chkbx_toggled("usedefaults_chkbx")
     self.assertFalse(view.widget_get_sensitive("file_entry"))
Exemplo n.º 16
0
 def test_on_dialog_close_or_delete(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     # T_0
     self.assertFalse(view.get_window().hidden)
     # action
     presenter.on_dialog_close_or_delete("widget")
     # T_1
     self.assertTrue(view.get_window().hidden)
Exemplo n.º 17
0
 def test_no_connection_on_add_confirm_negative(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append('')
     presenter.on_add_button_clicked('button')
     ## nothing changes
     self.assertFalse(presenter.view.widget_get_visible('expander'))
     self.assertFalse(presenter.view.widget_get_sensitive('connect_button'))
     self.assertTrue(presenter.view.widget_get_visible('noconnectionlabel'))
 def test_no_connection_on_add_confirm_positive(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append("conn_name")
     presenter.on_add_button_clicked("button")
     presenter.refresh_view()  # this is done by gtk
     ## visibility swapped
     self.assertTrue(presenter.view.widget_get_visible("expander"))
     self.assertFalse(presenter.view.widget_get_visible("noconnectionlabel"))
 def test_on_dialog_close_or_delete(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     # T_0
     self.assertFalse(view.get_window().hidden)
     # action
     presenter.on_dialog_close_or_delete("widget")
     # T_1
     self.assertTrue(view.get_window().hidden)
 def test_one_connection_on_remove_confirm_positive(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {
         "nugkui": {"default": True, "pictures": "nugkui", "type": "SQLite", "file": "nugkui.db"}
     }
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_yes_no_dialog.append(True)
     presenter.on_remove_button_clicked("button")
     ## visibility swapped
     self.assertFalse(presenter.view.widget_get_visible("expander"))
     self.assertTrue(presenter.view.widget_get_visible("noconnectionlabel"))
Exemplo n.º 21
0
 def test_set_default_toggles_sensitivity(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'type': 'SQLite',
                    'default': True,
                    'pictures': 'nugkui',
                    'file': 'nugkui.db'},
         }
     presenter = ConnMgrPresenter(view)
     view.widget_set_value('usedefaults_chkbx', True)
     presenter.on_usedefaults_chkbx_toggled('usedefaults_chkbx')
     self.assertFalse(view.widget_get_sensitive('file_entry'))
 def test_one_connection_on_add_confirm_positive(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {
         "nugkui": {"default": True, "pictures": "nugkui", "type": "SQLite", "file": "nugkui.db"}
     }
     prefs.prefs[bauble.conn_default_pref] = "nugkui"
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append("new_conn")
     presenter.on_add_button_clicked("button")
     presenter.refresh_view()  # this is done by gtk
     self.assertTrue(("combobox_prepend_text", ["name_combo", "new_conn"]) in presenter.view.invoked_detailed)
     self.assertTrue(("widget_set_value", ["name_combo", "new_conn", ()]) in presenter.view.invoked_detailed)
     print presenter.view.invoked_detailed
     raise SkipTest("related to issue #194")
Exemplo n.º 23
0
 def test_set_default_toggles_sensitivity(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'type': 'SQLite',
                    'default': True,
                    'pictures': 'nugkui',
                    'file': 'nugkui.db'},
         }
     presenter = ConnMgrPresenter(view)
     view.widget_set_value('usedefaults_chkbx', True)
     presenter.on_usedefaults_chkbx_toggled('usedefaults_chkbx')
     self.assertFalse(view.widget_get_sensitive('file_entry'))
Exemplo n.º 24
0
 def test_no_connection_on_add_confirm_negative(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append('')
     presenter.on_add_button_clicked('button')
     ## nothing changes
     self.assertFalse(presenter.view.widget_get_visible(
         'expander'))
     self.assertFalse(presenter.view.widget_get_sensitive(
         'connect_button'))
     self.assertTrue(presenter.view.widget_get_visible(
         'noconnectionlabel'))
Exemplo n.º 25
0
 def test_connection_uri_property(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'quisquis'
     prefs.prefs[bauble.conn_list_pref] = {
         'quisquis': {
             'type': 'PostgreSQL',
             'passwd': False,
             'pictures': '/tmp/',
             'db': 'quisquis',
             'host': 'localhost',
             'user': '******'
         }
     }
     presenter = ConnMgrPresenter(view)
     self.assertEquals(presenter.connection_name, 'quisquis')
     self.assertEquals(presenter.dbtype, 'PostgreSQL')
     ## we need trigger all signals that would go by gtk
     p = presenter.connections[presenter.connection_name]
     presenter.view.widget_set_value('database_entry', p['db'])
     presenter.on_text_entry_changed('database_entry')
     presenter.view.widget_set_value('user_entry', p['user'])
     presenter.on_text_entry_changed('user_entry')
     presenter.view.widget_set_value('host_entry', p['host'])
     presenter.on_text_entry_changed('host_entry')
     self.assertEquals(presenter.connection_uri,
                       'postgresql://pg@localhost/quisquis')
 def test_one_connection_shown_removed_message(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {
         "nugkui": {"default": True, "pictures": "nugkui", "type": "SQLite", "file": "nugkui.db"}
     }
     presenter = ConnMgrPresenter(view)
     # T_0
     self.assertTrue(presenter.view.widget_get_visible("expander"))
     self.assertFalse(presenter.view.widget_get_visible("noconnectionlabel"))
     # action
     presenter.remove_connection("nugkui")
     # T_1
     self.assertTrue(presenter.view.widget_get_visible("noconnectionlabel"))
     self.assertFalse(presenter.view.widget_get_visible("expander"))
Exemplo n.º 27
0
 def test_parameters_to_uri_sqlite(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = None
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     params = {'type': 'SQLite',
               'default': False,
               'file': '/tmp/test.db',
               'pictures': '/tmp/'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'sqlite:////tmp/test.db')
     params = {'type': 'PostgreSQL',
               'passwd': False,
               'pictures': '/tmp/',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://pg@localhost/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': True,
               'pictures': '/tmp/',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     view.reply_entry_dialog.append('secret')
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://*****:*****@localhost/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': False,
               'pictures': '/tmp/',
               'port': '9876',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://pg@localhost:9876/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': True,
               'pictures': '/tmp/',
               'port': '9876',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     view.reply_entry_dialog.append('secret')
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://*****:*****@localhost:9876/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': False,
               'pictures': '/tmp/',
               'options': ['is_this_possible=no',
                           'why_do_we_test=because'],
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://pg@localhost/quisquis?'
                       'is_this_possible=no&why_do_we_test=because')
 def test_on_dialog_response_ok_valid_params(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {
         "nugkui": {"default": False, "pictures": "/tmp/nugkui", "type": "SQLite", "file": "/tmp/nugkui.db"}
     }
     prefs.prefs[bauble.conn_default_pref] = "nugkui"
     prefs.prefs[prefs.picture_root_pref] = "/tmp"
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     dialog = MockDialog()
     view.invoked = []
     presenter.on_dialog_response(dialog, RESPONSE_OK)
     self.assertFalse("run_message_dialog" in view.invoked)
     self.assertTrue(dialog.hidden)
     self.assertEquals(prefs.prefs[prefs.picture_root_pref], "/tmp/nugkui")
Exemplo n.º 29
0
 def test_one_connection_on_remove_confirm_negative(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'}}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_yes_no_dialog.append(False)
     presenter.on_remove_button_clicked('button')
     ## nothing changes
     self.assertTrue(presenter.view.widget_get_visible(
         'expander'))
     self.assertFalse(presenter.view.widget_get_visible(
         'noconnectionlabel'))
Exemplo n.º 30
0
 def test_one_connection_on_remove_confirm_negative(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'}}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_yes_no_dialog.append(False)
     presenter.on_remove_button_clicked('button')
     ## nothing changes
     self.assertTrue(presenter.view.widget_get_visible(
         'expander'))
     self.assertFalse(presenter.view.widget_get_visible(
         'noconnectionlabel'))
Exemplo n.º 31
0
    def test_no_connections_then_message(self):
        view = MockView(combos={'name_combo': [], 'type_combo': []})
        prefs.prefs[bauble.conn_list_pref] = {}
        presenter = ConnMgrPresenter(view)

        self.assertFalse(presenter.view.widget_get_visible('expander'))
        self.assertTrue(presenter.view.widget_get_visible('noconnectionlabel'))
Exemplo n.º 32
0
 def test_check_parameters_valid(self):
     import copy
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'quisquis'
     prefs.prefs[bauble.conn_list_pref] = {
         'quisquis': {'type': 'PostgreSQL',
                      'passwd': False,
                      'pictures': '/tmp/',
                      'db': 'quisquis',
                      'host': 'localhost',
                      'user': '******'}}
     presenter = ConnMgrPresenter(view)
     params = presenter.connections['quisquis']
     valid, message = presenter.check_parameters_valid(params)
     self.assertTrue(valid)
     params = copy.copy(presenter.connections['quisquis'])
     params['user'] = ''
     valid, message = presenter.check_parameters_valid(params)
     self.assertFalse(valid)
     params = copy.copy(presenter.connections['quisquis'])
     params['host'] = ''
     valid, message = presenter.check_parameters_valid(params)
     self.assertFalse(valid)
     sqlite_params = {'type': 'SQLite',
                      'default': False,
                      'file': '/tmp/test.db',
                      'pictures': '/tmp/'}
     params = copy.copy(sqlite_params)
     valid, message = presenter.check_parameters_valid(params)
     self.assertTrue(valid)
     params = copy.copy(sqlite_params)
     params['file'] = '/usr/bin/sh'
     valid, message = presenter.check_parameters_valid(params)
     self.assertFalse(valid)
 def test_connection_uri_property(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_default_pref] = "quisquis"
     prefs.prefs[bauble.conn_list_pref] = {
         "quisquis": {
             "type": "PostgreSQL",
             "passwd": False,
             "pictures": "/tmp/",
             "db": "quisquis",
             "host": "localhost",
             "user": "******",
         }
     }
     presenter = ConnMgrPresenter(view)
     self.assertEquals(presenter.connection_name, "quisquis")
     self.assertEquals(presenter.dbtype, "PostgreSQL")
     ## we need trigger all signals that would go by gtk
     p = presenter.connections[presenter.connection_name]
     presenter.view.widget_set_value("database_entry", p["db"])
     presenter.on_text_entry_changed("database_entry")
     presenter.view.widget_set_value("user_entry", p["user"])
     presenter.on_text_entry_changed("user_entry")
     presenter.view.widget_set_value("host_entry", p["host"])
     presenter.on_text_entry_changed("host_entry")
     self.assertEquals(presenter.connection_uri, "postgresql://pg@localhost/quisquis")
 def test_parameters_to_uri_sqlite(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_default_pref] = None
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     params = {"type": "SQLite", "default": False, "file": "/tmp/test.db", "pictures": "/tmp/"}
     self.assertEquals(presenter.parameters_to_uri(params), "sqlite:////tmp/test.db")
     params = {
         "type": "PostgreSQL",
         "passwd": False,
         "pictures": "/tmp/",
         "db": "quisquis",
         "host": "localhost",
         "user": "******",
     }
     self.assertEquals(presenter.parameters_to_uri(params), "postgresql://pg@localhost/quisquis")
     params = {
         "type": "PostgreSQL",
         "passwd": True,
         "pictures": "/tmp/",
         "db": "quisquis",
         "host": "localhost",
         "user": "******",
     }
     view.reply_entry_dialog.append("secret")
     self.assertEquals(presenter.parameters_to_uri(params), "postgresql://*****:*****@localhost/quisquis")
     params = {
         "type": "PostgreSQL",
         "passwd": False,
         "pictures": "/tmp/",
         "port": "9876",
         "db": "quisquis",
         "host": "localhost",
         "user": "******",
     }
     self.assertEquals(presenter.parameters_to_uri(params), "postgresql://pg@localhost:9876/quisquis")
     params = {
         "type": "PostgreSQL",
         "passwd": True,
         "pictures": "/tmp/",
         "port": "9876",
         "db": "quisquis",
         "host": "localhost",
         "user": "******",
     }
     view.reply_entry_dialog.append("secret")
     self.assertEquals(presenter.parameters_to_uri(params), "postgresql://*****:*****@localhost:9876/quisquis")
     params = {
         "type": "PostgreSQL",
         "passwd": False,
         "pictures": "/tmp/",
         "options": ["is_this_possible=no", "why_do_we_test=because"],
         "db": "quisquis",
         "host": "localhost",
         "user": "******",
     }
     self.assertEquals(
         presenter.parameters_to_uri(params),
         "postgresql://pg@localhost/quisquis?" "is_this_possible=no&why_do_we_test=because",
     )
Exemplo n.º 35
0
 def test_when_user_selects_different_type(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'type': 'SQLite',
                    'default': True,
                    'pictures': 'nugkui',
                    'file': 'nugkui.db'},
         'quisquis': {'type': 'PostgreSQL',
                      'passwd': False,
                      'pictures': '',
                      'db': 'quisquis',
                      'host': 'localhost',
                      'user': '******'}}
     presenter = ConnMgrPresenter(view)
     # T_0
     self.assertEquals(presenter.connection_name, 'nugkui')
     self.assertTrue(presenter.view.widget_get_visible(
         'sqlite_parambox'))
     # action
     view.widget_set_value('name_combo', 'quisquis')
     presenter.dbtype = 'PostgreSQL'  # who to trigger this in tests?
     presenter.on_name_combo_changed('name_combo')
     # result
     self.assertEquals(presenter.connection_name, 'quisquis')
     presenter.refresh_view()  # in reality this is triggered by gtk view
     self.assertEquals(presenter.dbtype, 'PostgreSQL')
     ## if the above succeeds, the following is riggered by the view!
     #presenter.on_combo_changed('type_combo', 'PostgreSQL')
     # T_1
     self.assertTrue(presenter.view.widget_get_visible(
         'dbms_parambox'))
Exemplo n.º 36
0
 def test_on_dialog_response_ok_valid_params(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': False,
                    'pictures': '/tmp/nugkui',
                    'type': 'SQLite',
                    'file': '/tmp/nugkui.db'}}
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     prefs.prefs[prefs.picture_root_pref] = '/tmp'
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     dialog = MockDialog()
     view.invoked = []
     presenter.on_dialog_response(dialog, RESPONSE_OK)
     self.assertFalse('run_message_dialog' in view.invoked)
     self.assertTrue(dialog.hidden)
     self.assertEquals(prefs.prefs[prefs.picture_root_pref], '/tmp/nugkui')
Exemplo n.º 37
0
 def test_on_dialog_response_ok_valid_params(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': False,
                    'pictures': '/tmp/nugkui',
                    'type': 'SQLite',
                    'file': '/tmp/nugkui.db'}}
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     prefs.prefs[prefs.picture_root_pref] = '/tmp'
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     dialog = MockDialog()
     view.invoked = []
     presenter.on_dialog_response(dialog, RESPONSE_OK)
     self.assertFalse('run_message_dialog' in view.invoked)
     self.assertTrue(dialog.hidden)
     self.assertEquals(prefs.prefs[prefs.picture_root_pref], '/tmp/nugkui')
Exemplo n.º 38
0
 def test_parameters_to_uri_sqlite(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = None
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     params = {'type': 'SQLite',
               'default': False,
               'file': '/tmp/test.db',
               'pictures': '/tmp/'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'sqlite:////tmp/test.db')
     params = {'type': 'PostgreSQL',
               'passwd': False,
               'pictures': '/tmp/',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://pg@localhost/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': True,
               'pictures': '/tmp/',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     view.reply_entry_dialog.append('secret')
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://*****:*****@localhost/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': False,
               'pictures': '/tmp/',
               'port': '9876',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://pg@localhost:9876/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': True,
               'pictures': '/tmp/',
               'port': '9876',
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     view.reply_entry_dialog.append('secret')
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://*****:*****@localhost:9876/quisquis')
     params = {'type': 'PostgreSQL',
               'passwd': False,
               'pictures': '/tmp/',
               'options': ['is_this_possible=no',
                           'why_do_we_test=because'],
               'db': 'quisquis',
               'host': 'localhost',
               'user': '******'}
     self.assertEquals(presenter.parameters_to_uri(params),
                       'postgresql://pg@localhost/quisquis?'
                       'is_this_possible=no&why_do_we_test=because')
Exemplo n.º 39
0
 def test_one_connection_on_add_confirm_positive(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'}}
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append('new_conn')
     presenter.on_add_button_clicked('button')
     presenter.refresh_view()  # this is done by gtk
     self.assertTrue(('combobox_prepend_text', ['name_combo', 'new_conn'])
                     in presenter.view.invoked_detailed)
     self.assertTrue(('widget_set_value', ['name_combo', 'new_conn', ()])
                     in presenter.view.invoked_detailed)
     print presenter.view.invoked_detailed
     raise SkipTest("related to issue #194")
 def test_on_dialog_response_cancel_params_changed(self):
     view = MockView(combos={"name_combo": [], "type_combo": []})
     prefs.prefs[bauble.conn_list_pref] = {
         "nugkui": {"default": False, "pictures": "/tmp/nugkui", "type": "SQLite", "file": "/tmp/nugkui.db"}
     }
     prefs.prefs[bauble.conn_default_pref] = "nugkui"
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     ## change something
     view.widget_set_value("usedefaults_chkbx", True)
     presenter.on_usedefaults_chkbx_toggled("usedefaults_chkbx")
     ## press escape
     dialog = MockDialog()
     view.reply_yes_no_dialog = [True]
     view.invoked = []
     presenter.on_dialog_response(dialog, RESPONSE_CANCEL)
     ## question was asked whether to save
     self.assertFalse("run_message_dialog" in view.invoked)
     self.assertTrue("run_yes_no_dialog" in view.invoked)
     self.assertTrue(dialog.hidden)
Exemplo n.º 41
0
 def test_one_connection_shown_removed_message(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {
             'default': True,
             'pictures': 'nugkui',
             'type': 'SQLite',
             'file': 'nugkui.db'
         }
     }
     presenter = ConnMgrPresenter(view)
     # T_0
     self.assertTrue(presenter.view.widget_get_visible('expander'))
     self.assertFalse(
         presenter.view.widget_get_visible('noconnectionlabel'))
     # action
     presenter.remove_connection('nugkui')
     # T_1
     self.assertTrue(presenter.view.widget_get_visible('noconnectionlabel'))
     self.assertFalse(presenter.view.widget_get_visible('expander'))
Exemplo n.º 42
0
 def test_two_connection_on_remove_confirm_positive(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'},
         'btuu': {'default': True,
                  'pictures': 'btuu',
                  'type': 'SQLite',
                  'file': 'btuu.db'}}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_yes_no_dialog.append(True)
     presenter.on_remove_button_clicked('button')
     ## visibility same
     self.assertTrue(presenter.view.widget_get_visible(
         'expander'))
     self.assertFalse(presenter.view.widget_get_visible(
         'noconnectionlabel'))
     self.assertTrue('combobox_set_active' in view.invoked)
Exemplo n.º 43
0
 def test_two_connection_on_remove_confirm_positive(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'},
         'btuu': {'default': True,
                  'pictures': 'btuu',
                  'type': 'SQLite',
                  'file': 'btuu.db'}}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_yes_no_dialog.append(True)
     presenter.on_remove_button_clicked('button')
     ## visibility same
     self.assertTrue(presenter.view.widget_get_visible(
         'expander'))
     self.assertFalse(presenter.view.widget_get_visible(
         'noconnectionlabel'))
     self.assertTrue('combobox_set_active' in view.invoked)
Exemplo n.º 44
0
 def test_one_connection_shown_removed_message(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'}}
     presenter = ConnMgrPresenter(view)
     # T_0
     self.assertTrue(presenter.view.widget_get_visible(
         'expander'))
     self.assertFalse(presenter.view.widget_get_visible(
         'noconnectionlabel'))
     # action
     presenter.remove_connection('nugkui')
     # T_1
     self.assertTrue(presenter.view.widget_get_visible(
         'noconnectionlabel'))
     self.assertFalse(presenter.view.widget_get_visible(
         'expander'))
Exemplo n.º 45
0
 def test_pictureroot2_chosen(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     view.reply_file_chooser_dialog.append('chosen')
     presenter = ConnMgrPresenter(view)
     presenter.on_pictureroot2_btnbrowse_clicked()
     presenter.on_text_entry_changed('pictureroot2_entry')
     self.assertEquals(presenter.pictureroot, 'chosen')
Exemplo n.º 46
0
 def test_when_user_selects_different_type(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'type': 'SQLite',
                    'default': True,
                    'pictures': 'nugkui',
                    'file': 'nugkui.db'},
         'quisquis': {'type': 'PostgreSQL',
                      'passwd': False,
                      'pictures': '',
                      'db': 'quisquis',
                      'host': 'localhost',
                      'user': '******'}}
     presenter = ConnMgrPresenter(view)
     # T_0
     self.assertEquals(presenter.connection_name, 'nugkui')
     self.assertTrue(presenter.view.widget_get_visible(
         'sqlite_parambox'))
     # action
     view.widget_set_value('name_combo', 'quisquis')
     presenter.dbtype = 'PostgreSQL'  # who to trigger this in tests?
     presenter.on_name_combo_changed('name_combo')
     # result
     self.assertEquals(presenter.connection_name, 'quisquis')
     presenter.refresh_view()  # in reality this is triggered by gtk view
     self.assertEquals(presenter.dbtype, 'PostgreSQL')
     ## if the above succeeds, the following is riggered by the view!
     #presenter.on_combo_changed('type_combo', 'PostgreSQL')
     # T_1
     self.assertTrue(presenter.view.widget_get_visible(
         'dbms_parambox'))
Exemplo n.º 47
0
 def test_check_parameters_valid(self):
     import copy
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'quisquis'
     prefs.prefs[bauble.conn_list_pref] = {
         'quisquis': {'type': 'PostgreSQL',
                      'passwd': False,
                      'pictures': '/tmp/',
                      'db': 'quisquis',
                      'host': 'localhost',
                      'user': '******'}}
     presenter = ConnMgrPresenter(view)
     params = presenter.connections['quisquis']
     valid, message = presenter.check_parameters_valid(params)
     self.assertTrue(valid)
     params = copy.copy(presenter.connections['quisquis'])
     params['user'] = ''
     valid, message = presenter.check_parameters_valid(params)
     self.assertFalse(valid)
     params = copy.copy(presenter.connections['quisquis'])
     params['host'] = ''
     valid, message = presenter.check_parameters_valid(params)
     self.assertFalse(valid)
     sqlite_params = {'type': 'SQLite',
                      'default': False,
                      'file': '/tmp/test.db',
                      'pictures': '/tmp/'}
     params = copy.copy(sqlite_params)
     valid, message = presenter.check_parameters_valid(params)
     self.assertTrue(valid)
     params = copy.copy(sqlite_params)
     params['file'] = '/usr/bin/sh'
     valid, message = presenter.check_parameters_valid(params)
     self.assertFalse(valid)
Exemplo n.º 48
0
 def test_on_dialog_response_cancel_params_changed(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {
             'default': False,
             'pictures': '/tmp/nugkui',
             'type': 'SQLite',
             'file': '/tmp/nugkui.db'
         }
     }
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     view.reply_file_chooser_dialog = []
     presenter = ConnMgrPresenter(view)
     ## change something
     view.widget_set_value('usedefaults_chkbx', True)
     presenter.on_usedefaults_chkbx_toggled('usedefaults_chkbx')
     ## press escape
     dialog = MockDialog()
     view.reply_yes_no_dialog = [True]
     view.invoked = []
     presenter.on_dialog_response(dialog, RESPONSE_CANCEL)
     ## question was asked whether to save
     self.assertFalse('run_message_dialog' in view.invoked)
     self.assertTrue('run_yes_no_dialog' in view.invoked)
     self.assertTrue(dialog.hidden)
    def test_check_parameters_valid(self):
        import copy

        view = MockView(combos={"name_combo": [], "type_combo": []})
        prefs.prefs[bauble.conn_default_pref] = "quisquis"
        prefs.prefs[bauble.conn_list_pref] = {
            "quisquis": {
                "type": "PostgreSQL",
                "passwd": False,
                "pictures": "/tmp/",
                "db": "quisquis",
                "host": "localhost",
                "user": "******",
            }
        }
        presenter = ConnMgrPresenter(view)
        params = presenter.connections["quisquis"]
        valid, message = presenter.check_parameters_valid(params)
        self.assertTrue(valid)
        params = copy.copy(presenter.connections["quisquis"])
        params["user"] = ""
        valid, message = presenter.check_parameters_valid(params)
        self.assertFalse(valid)
        params = copy.copy(presenter.connections["quisquis"])
        params["host"] = ""
        valid, message = presenter.check_parameters_valid(params)
        self.assertFalse(valid)
        sqlite_params = {"type": "SQLite", "default": False, "file": "/tmp/test.db", "pictures": "/tmp/"}
        params = copy.copy(sqlite_params)
        valid, message = presenter.check_parameters_valid(params)
        self.assertTrue(valid)
        params = copy.copy(sqlite_params)
        params["file"] = "/usr/bin/sh"
        valid, message = presenter.check_parameters_valid(params)
        self.assertFalse(valid)
Exemplo n.º 50
0
 def test_one_connection_shown_and_selected_sqlite(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'}}
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     presenter = ConnMgrPresenter(view)
     self.assertEquals(presenter.connection_name, 'nugkui')
     self.assertTrue(presenter.view.widget_get_visible(
         'expander'))
     self.assertFalse(presenter.view.widget_get_visible(
         'noconnectionlabel'))
Exemplo n.º 51
0
 def test_no_connection_on_add_confirm_positive(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {}
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append('conn_name')
     presenter.on_add_button_clicked('button')
     presenter.refresh_view()  # this is done by gtk
     ## visibility swapped
     self.assertTrue(presenter.view.widget_get_visible('expander'))
     self.assertTrue(presenter.view.widget_get_sensitive('connect_button'))
     self.assertFalse(
         presenter.view.widget_get_visible('noconnectionlabel'))
Exemplo n.º 52
0
 def test_two_connection_initialize_default_second(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'},
         'btuu': {'default': False,
                  'pictures': 'btuu',
                  'type': 'SQLite',
                  'file': 'btuu.db'}}
     prefs.prefs[bauble.conn_default_pref] = 'bruu'
     presenter = ConnMgrPresenter(view)
     self.assertEquals(presenter.connection_name, 'btuu')
     params = presenter.connections[presenter.connection_name]
     self.assertEquals(params['default'], False)
     self.assertFalse(view.widget_get_value('usedefaults_chkbx'))
Exemplo n.º 53
0
 def test_two_connections_wrong_default_use_first_one(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'},
         'quisquis': {'passwd': False,
                      'pictures': '',
                      'db': 'quisquis',
                      'host': 'localhost',
                      'user': '******',
                      'type': 'Oracle'}}
     prefs.prefs[bauble.conn_default_pref] = 'nonce'
     presenter = ConnMgrPresenter(view)
     as_list = presenter.connection_names
     self.assertEquals(presenter.connection_name, as_list[0])
Exemplo n.º 54
0
 def test_one_connection_shown_and_selected_oracle(self):
     view = MockView(combos={'name_combo': [], 'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'quisquis': {
             'passwd': False,
             'pictures': '',
             'db': 'quisquis',
             'host': 'localhost',
             'user': '******',
             'type': 'Oracle'
         }
     }
     prefs.prefs[bauble.conn_default_pref] = 'quisquis'
     presenter = ConnMgrPresenter(view)
     self.assertEquals(presenter.connection_name, 'quisquis')
     self.assertTrue(presenter.view.widget_get_visible('expander'))
     self.assertTrue(presenter.view.widget_get_visible('dbms_parambox'))
     self.assertFalse(presenter.view.widget_get_visible('sqlite_parambox'))
     self.assertFalse(
         presenter.view.widget_get_visible('noconnectionlabel'))
Exemplo n.º 55
0
 def test_one_connection_on_add_confirm_positive(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     prefs.prefs[bauble.conn_list_pref] = {
         'nugkui': {'default': True,
                    'pictures': 'nugkui',
                    'type': 'SQLite',
                    'file': 'nugkui.db'}}
     prefs.prefs[bauble.conn_default_pref] = 'nugkui'
     presenter = ConnMgrPresenter(view)
     presenter.view.reply_entry_dialog.append('new_conn')
     presenter.on_add_button_clicked('button')
     presenter.refresh_view()  # this is done by gtk
     self.assertTrue(('combobox_prepend_text', ['name_combo', 'new_conn'])
                     in presenter.view.invoked_detailed)
     self.assertTrue(('widget_set_value', ['name_combo', 'new_conn', ()])
                     in presenter.view.invoked_detailed)
     print presenter.view.invoked_detailed
     raise SkipTest("related to issue #194")
Exemplo n.º 56
0
 def test_can_create_presenter(self):
     view = MockView(combos={'name_combo': [],
                             'type_combo': []})
     presenter = ConnMgrPresenter(view)
     self.assertEquals(presenter.view, view)