Example #1
0
    def initGui(self):
        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QtGui.QAction(icon, "GeoServer Explorer",
                                            self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        settings = QtCore.QSettings()
        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.explorer)
        if not settings.value("/GeoServer/Settings/General/ExplorerVisible",
                              False, bool):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(
            self._explorerVisibilityChanged)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/config.png")
        self.configAction = QtGui.QAction(icon, "GeoServer Explorer settings",
                                          self.iface.mainWindow())
        self.configAction.triggered.connect(self.openSettings)
        self.iface.addPluginToWebMenu(u"GeoServer", self.configAction)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/help.png")
        self.helpAction = QtGui.QAction(icon, "GeoServer Explorer help",
                                        self.iface.mainWindow())
        self.helpAction.triggered.connect(self.showHelp)
        self.iface.addPluginToWebMenu(u"GeoServer", self.helpAction)

        if processingOk:
            Processing.addProvider(self.provider)

        layerwatcher.connectLayerWasAdded(self.explorer)
class GeoServerExplorerPlugin:

    def __init__(self, iface):
        self.iface = iface
        config.iface = iface
        self.provider = GeoServerProvider()

    def unload(self):
        pem.removePkiTempFiles(self.explorer.catalogs())
        self.explorer.deleteLater()
        self.iface.removePluginWebMenu(u"GeoServer", self.explorerAction)
        self.iface.removePluginWebMenu(u"GeoServer", self.configAction)
        self.iface.removePluginWebMenu(u"GeoServer", self.helpAction)
        Processing.removeProvider(self.provider)
        layerwatcher.disconnectLayerWasAdded()

    def initGui(self):
        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QtGui.QAction(icon, "GeoServer Explorer", self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        settings = QtCore.QSettings()
        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.explorer)
        if not settings.value("/GeoServer/Settings/General/ExplorerVisible", False, bool):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(self._explorerVisibilityChanged)


        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/config.png")
        self.configAction = QtGui.QAction(icon, "GeoServer Explorer settings", self.iface.mainWindow())
        self.configAction.triggered.connect(self.openSettings)
        self.iface.addPluginToWebMenu(u"GeoServer", self.configAction)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/help.png")
        self.helpAction = QtGui.QAction(icon, "GeoServer Explorer help", self.iface.mainWindow())
        self.helpAction.triggered.connect(self.showHelp)
        self.iface.addPluginToWebMenu(u"GeoServer", self.helpAction)

        Processing.addProvider(self.provider)

        layerwatcher.connectLayerWasAdded(self.explorer)


    def _explorerVisibilityChanged(self, visible):
        settings = QtCore.QSettings()
        settings.setValue("/GeoServer/Settings/General/ExplorerVisible", visible)

    def showHelp(self):
        HELP_URL = "https://github.com/boundlessgeo/qgis-geoserver-plugin/blob/master/doc/source/intro.rst"
        webbrowser.open(HELP_URL)

    def openExplorer(self):
        self.explorer.show()

    def openSettings(self):
        dlg = ConfigDialog(self.explorer)
        dlg.exec_()
Example #3
0
class GeoServerExplorerPlugin(object):
    def __init__(self, iface):
        self.iface = iface
        readSettings()
        try:
            from qgistester.tests import addTestModule
            from geoserverexplorer.test import testplugin
            addTestModule(testplugin, "GeoServer")
        except Exception as ex:
            pass

    def unload(self):
        self.explorer.deleteLater()
        removeSettingsMenu("GeoServer", self.iface.removePluginWebMenu)
        removeHelpMenu("GeoServer", self.iface.removePluginWebMenu)
        removeAboutMenu("GeoServer", self.iface.removePluginWebMenu)
        self.iface.removePluginWebMenu(u"GeoServer", self.explorerAction)
        layerwatcher.disconnectLayerWasAdded()
        try:
            from qgistester.tests import removeTestModule
            from geoserverexplorer.test import testplugin
            removeTestModule(testplugin, "GeoServer")
        except Exception as ex:
            pass

    def initGui(self):
        icon = QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QAction(icon, "GeoServer Explorer",
                                      self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(Qt.RightDockWidgetArea, self.explorer)
        if not pluginSetting("ExplorerVisible"):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(
            self._explorerVisibilityChanged)

        addSettingsMenu("GeoServer", self.iface.addPluginToWebMenu)
        addHelpMenu("GeoServer", self.iface.addPluginToWebMenu)
        addAboutMenu("GeoServer", self.iface.addPluginToWebMenu)

        layerwatcher.connectLayerWasAdded(self.explorer)

    def _explorerVisibilityChanged(self, visible):
        setPluginSetting("ExplorerVisible", visible)

    def openExplorer(self):
        self.explorer.show()
Example #4
0
class GeoServerExplorerPlugin(object):

    def __init__(self, iface):
        self.iface = iface
        readSettings()
        try:
            from qgistester.tests import addTestModule
            from geoserverexplorer.test import testplugin
            addTestModule(testplugin, "GeoServer")
        except Exception as ex:
            pass

    def unload(self):
        self.explorer.deleteLater()
        removeSettingsMenu("GeoServer", self.iface.removePluginWebMenu)
        removeHelpMenu("GeoServer", self.iface.removePluginWebMenu)
        removeAboutMenu("GeoServer", self.iface.removePluginWebMenu)
        self.iface.removePluginWebMenu(u"GeoServer", self.explorerAction)
        layerwatcher.disconnectLayerWasAdded()
        try:
            from qgistester.tests import removeTestModule
            from geoserverexplorer.test import testplugin
            removeTestModule(testplugin, "GeoServer")
        except Exception as ex:
            pass

    def initGui(self):
        icon = QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QAction(icon, "GeoServer Explorer", self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(Qt.RightDockWidgetArea, self.explorer)
        if not pluginSetting("ExplorerVisible"):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(self._explorerVisibilityChanged)

        addSettingsMenu("GeoServer", self.iface.addPluginToWebMenu)
        addHelpMenu("GeoServer", self.iface.addPluginToWebMenu)
        addAboutMenu("GeoServer", self.iface.addPluginToWebMenu)

        layerwatcher.connectLayerWasAdded(self.explorer)

    def _explorerVisibilityChanged(self, visible):
        setPluginSetting("ExplorerVisible", visible)

    def openExplorer(self):
        self.explorer.show()
Example #5
0
class GroupDialogTests(ExplorerIntegrationTest):

    explorer = GeoServerExplorer()

    def testGroupDialogWithEmptyName(self):
        dialog = LayerGroupDialog(self.cat)
        dialog.nameBox.setName("")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        self.assertFalse(okWidget.isEnabled())
        dialog.deleteLater()
        okWidget.deleteLater()

    def testGroupDialogWithNameContaingBlankSpaces(self):
        dialog = LayerGroupDialog(self.cat)
        dialog.nameBox.setName("my group")
        dialog.table.cellWidget(0, 0).setChecked(True)
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        self.assertFalse(okWidget.isEnabled())
        dialog.deleteLater()
        okWidget.deleteLater()

    def testSelectAllButton(self):
        dialog = LayerGroupDialog(self.cat)
        QTest.mouseClick(dialog.selectAllButton, Qt.LeftButton)
        for i in range(dialog.table.rowCount()):
            self.assertTrue(dialog.table.cellWidget(i, 0).isChecked())
        QTest.mouseClick(dialog.selectAllButton, Qt.LeftButton)
        for i in range(dialog.table.rowCount()):
            self.assertFalse(dialog.table.cellWidget(i, 0).isChecked())

    def testCannotEditName(self):
        group = self.cat.get_layergroup(GROUP)
        self.assertIsNotNone(group)
        dialog = LayerGroupDialog(self.cat, group)
        self.assertFalse(dialog.nameBox.isEnabled())
Example #6
0
    def initGui(self):
        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QtGui.QAction(icon, "GeoServer Explorer", self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        settings = QtCore.QSettings()
        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.explorer)
        if not settings.value("/GeoServer/Settings/General/ExplorerVisible", False, bool):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(self._explorerVisibilityChanged)


        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/config.png")
        self.configAction = QtGui.QAction(icon, "GeoServer Explorer settings", self.iface.mainWindow())
        self.configAction.triggered.connect(self.openSettings)
        self.iface.addPluginToWebMenu(u"GeoServer", self.configAction)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/help.png")
        self.helpAction = QtGui.QAction(icon, "GeoServer Explorer help", self.iface.mainWindow())
        self.helpAction.triggered.connect(self.showHelp)
        self.iface.addPluginToWebMenu(u"GeoServer", self.helpAction)

        Processing.addProvider(self.provider)

        layerwatcher.connectLayerWasAdded(self.explorer)
Example #7
0
class GeoServerExplorerPlugin:
    def __init__(self, iface):
        self.iface = iface
        config.iface = iface

    def unload(self):
        pem.removePkiTempFiles(self.explorer.catalogs())
        self.explorer.deleteLater()

    def initGui(self):
        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QtGui.QAction(icon, "GeoServer Explorer", self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        settings = QtCore.QSettings()
        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.explorer)
        if not settings.value("/GeoServer/Settings/General/ExplorerVisible", False, bool):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(self._explorerVisibilityChanged)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/config.png")
        self.configAction = QtGui.QAction(icon, "GeoServer Explorer settings", self.iface.mainWindow())
        self.configAction.triggered.connect(self.openSettings)
        self.iface.addPluginToWebMenu(u"GeoServer", self.configAction)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/help.png")
        self.helpAction = QtGui.QAction(icon, "GeoServer Explorer help", self.iface.mainWindow())
        self.helpAction.triggered.connect(self.showHelp)
        self.iface.addPluginToWebMenu(u"GeoServer", self.helpAction)

    def _explorerVisibilityChanged(self, visible):
        settings = QtCore.QSettings()
        settings.setValue("/GeoServer/Settings/General/ExplorerVisible", visible)

    def showHelp(self):
        HELP_URL = "http://qgis.boundlessgeo.com/static/docs/index.html"
        webbrowser.open(HELP_URL)

    def openExplorer(self):
        self.explorer.show()

    def openSettings(self):
        dlg = ConfigDialog(self.explorer)
        dlg.exec_()
Example #8
0
 def setUpClass(cls):
     cls.explorer = GeoServerExplorer()
     cls.cat = Catalog("http://localhost:8080/geoserver/rest", "admin", "geoserver")
     cleanCatalog(cls.cat)
     cls.cat.create_workspace(WORKSPACE, "http://test1.com")
     cls.cat.create_workspace(WORKSPACEB, "http://test2.com")
     # load project
     projectFile = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data", "test.qgs")
     if os.path.normcase(projectFile) != os.path.normcase(QgsProject.instance().fileName()):
         iface.addProject(projectFile)
Example #9
0
    def initGui(self):
        icon = QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QAction(icon, "GeoServer Explorer",
                                      self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(Qt.RightDockWidgetArea, self.explorer)
        if not pluginSetting("ExplorerVisible"):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(
            self._explorerVisibilityChanged)

        addSettingsMenu("GeoServer", self.iface.addPluginToWebMenu)
        addHelpMenu("GeoServer", self.iface.addPluginToWebMenu)
        addAboutMenu("GeoServer", self.iface.addPluginToWebMenu)

        layerwatcher.connectLayerWasAdded(self.explorer)
Example #10
0
 def setUpClass(cls):
     cls.explorer = GeoServerExplorer()
     cls.catWrapper = getGeoServerCatalog()
     cls.cat = cls.catWrapper.catalog
     cleanCatalog(cls.cat)
     cls.cat.create_workspace(WORKSPACE, "http://test1.com")
     cls.cat.create_workspace(WORKSPACEB, "http://test2.com")
     # load project
     projectFile = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                                "data", "test.qgs")
     iface.addProject(projectFile)
Example #11
0
 def setUpClass(cls):
     cls.explorer = GeoServerExplorer()
     # Disable cache
     cls.cache_time = pluginSetting("AuthCatalogXMLCacheTime")
     setPluginSetting("AuthCatalogXMLCacheTime", 1)
     cls.catWrapper = utils.getGeoServerCatalog()
     cls.cat = cls.catWrapper.catalog
     utils.populateCatalog(cls.cat)
     cls.catalogItem = GsCatalogItem(cls.cat, "catalog")
     cls.explorer.explorerTree.gsItem.addChild(cls.catalogItem)
     cls.catalogItem.populate()
     cls.tree = cls.explorer.tree
     projectFile = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                                "data", "test.qgs")
     iface.addProject(projectFile)
Example #12
0
 def setUpClass(cls):
     cls.explorer = GeoServerExplorer()
     cls.catWrapper = utils.getGeoServerCatalog()
     cls.cat = cls.catWrapper.catalog
     utils.populateCatalog(cls.cat)
     cls.catalogItem = GsCatalogItem(cls.cat, "catalog")
     cls.explorer.explorerTree.gsItem.addChild(cls.catalogItem)
     cls.catalogItem.populate()
     cls.tree = cls.explorer.tree
     # @TODO - make tests pass using importer
     cls.useRestApi = QSettings().setValue(
         "/GeoServer/Settings/GeoServer/UseRestApi", True)
     projectFile = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                                "data", "test.qgs")
     if os.path.normcase(projectFile) != os.path.normcase(
             QgsProject.instance().fileName()):
         iface.addProject(projectFile)
Example #13
0
    def initGui(self):
        icon = QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QAction(icon, "GeoServer Explorer", self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(Qt.RightDockWidgetArea, self.explorer)
        if not pluginSetting("ExplorerVisible"):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(self._explorerVisibilityChanged)

        addSettingsMenu("GeoServer", self.iface.addPluginToWebMenu)
        addHelpMenu("GeoServer", self.iface.addPluginToWebMenu)
        addAboutMenu("GeoServer", self.iface.addPluginToWebMenu)

        layerwatcher.connectLayerWasAdded(self.explorer)
Example #14
0
    def setUpClass(cls):
        cls.explorer = GeoServerExplorer()

        # reasize if in PKI auth context
        if hasattr(cls, 'authm') and cls.authm:
            cls.catWrapper = getGeoServerCatalog(authcfgid=AUTHCFGID,
                                                 authtype=AUTHTYPE)
        else:
            cls.catWrapper = getGeoServerCatalog()
        cls.cat = cls.catWrapper.catalog
        cleanCatalog(cls.cat)
        cls.cat.create_workspace(WORKSPACE, "http://test1.com")
        cls.cat.create_workspace(WORKSPACEB, "http://test2.com")
        # load project
        projectFile = os.path.join(os.path.dirname(os.path.abspath(__file__)),
                                   "data", "test.qgs")
        iface.addProject(projectFile)
    def setUpClass(cls):
        cls.explorer = GeoServerExplorer()

        # reasize if in PKI auth context
        # import is doen here to avoid to have the effect to loose module
        # this fixes https://github.com/boundlessgeo/qgis-geoserver-plugin/issues/85
        from geoserverexplorer.test.utils import AUTHCFGID, AUTHTYPE, AUTHM
        if AUTHM:
            cls.catWrapper = getGeoServerCatalog(authcfgid=AUTHCFGID, authtype=AUTHTYPE)
        else:
            cls.catWrapper = getGeoServerCatalog()
        cls.cat = cls.catWrapper.catalog
        cleanCatalog(cls.cat)
        cls.cat.create_workspace(WORKSPACE, "http://test1.com")
        cls.cat.create_workspace(WORKSPACEB, "http://test2.com")
        # load project
        projectFile = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data", "test.qgs")
        iface.addProject(projectFile)
Example #16
0
 def setUpClass(cls):
     cls.explorer = GeoServerExplorer()
     # Disable cache
     cls.cache_time = QSettings().value(SETTINGS_CACHE_TIME)
     QSettings().setValue(SETTINGS_CACHE_TIME, 1)
     # check if context is a PKI auth context
     if hasattr(cls, 'authm') and cls.authm:
         cls.catWrapper = utils.getGeoServerCatalog(authcfgid=AUTHCFGID, authtype=AUTHTYPE)
     else:
         cls.catWrapper = utils.getGeoServerCatalog()
     cls.cat = cls.catWrapper.catalog
     utils.populateCatalog(cls.cat)
     cls.catalogItem = GsCatalogItem(cls.cat, "catalog")
     cls.explorer.explorerTree.gsItem.addChild(cls.catalogItem)
     cls.catalogItem.populate()
     cls.tree = cls.explorer.tree
     # @TODO - make tests pass using importer
     cls.useRestApi = QSettings().setValue("/GeoServer/Settings/GeoServer/UseRestApi", True)
     projectFile = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data", "test.qgs")
     iface.addProject(projectFile)
Example #17
0
class GeoServerExplorerPlugin:
    def __init__(self, iface):
        self.iface = iface
        config.iface = iface
        self.provider = GeoServerProvider()

        try:
            from qgistester.tests import addTestModule
            from geoserverexplorer.test import testplugin
            addTestModule(testplugin, "GeoServer")
        except:
            pass

    def unload(self):
        pem.removePkiTempFiles(self.explorer.catalogs())
        self.explorer.deleteLater()
        self.iface.removePluginWebMenu(u"GeoServer", self.explorerAction)
        self.iface.removePluginWebMenu(u"GeoServer", self.configAction)
        self.iface.removePluginWebMenu(u"GeoServer", self.helpAction)
        Processing.removeProvider(self.provider)
        layerwatcher.disconnectLayerWasAdded()

    def initGui(self):
        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QtGui.QAction(icon, "GeoServer Explorer",
                                            self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        settings = QtCore.QSettings()
        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.explorer)
        if not settings.value("/GeoServer/Settings/General/ExplorerVisible",
                              False, bool):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(
            self._explorerVisibilityChanged)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/config.png")
        self.configAction = QtGui.QAction(icon, "GeoServer Explorer settings",
                                          self.iface.mainWindow())
        self.configAction.triggered.connect(self.openSettings)
        self.iface.addPluginToWebMenu(u"GeoServer", self.configAction)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/help.png")
        self.helpAction = QtGui.QAction(icon, "GeoServer Explorer help",
                                        self.iface.mainWindow())
        self.helpAction.triggered.connect(self.showHelp)
        self.iface.addPluginToWebMenu(u"GeoServer", self.helpAction)

        Processing.addProvider(self.provider)

        layerwatcher.connectLayerWasAdded(self.explorer)

    def _explorerVisibilityChanged(self, visible):
        settings = QtCore.QSettings()
        settings.setValue("/GeoServer/Settings/General/ExplorerVisible",
                          visible)

    def showHelp(self):
        HELP_URL = "https://github.com/boundlessgeo/qgis-geoserver-plugin/blob/master/doc/source/intro.rst"
        webbrowser.open(HELP_URL)

    def openExplorer(self):
        self.explorer.show()

    def openSettings(self):
        dlg = ConfigDialog(self.explorer)
        dlg.exec_()
class CreateCatalogDialogTests(unittest.TestCase):

    explorer = GeoServerExplorer()

    def setUp(self):
        # reasize if in PKI auth context
        # import is doen here to avoid to have the effect to loose module
        # this fixes https://github.com/boundlessgeo/qgis-geoserver-plugin/issues/85
        from geoserverexplorer.test.utils import AUTHCFGID, AUTHTYPE, AUTHM
        if AUTHM:
            self.cat = getGeoServerCatalog(authcfgid=AUTHCFGID, authtype=AUTHTYPE)
        else:
            self.cat = getGeoServerCatalog()

    def tearDown(self):
        # reasize if in PKI auth context
        # import is doen here to avoid to have the effect to loose module
        # this fixes https://github.com/boundlessgeo/qgis-geoserver-plugin/issues/85
        from geoserverexplorer.test.utils import AUTHM
        if AUTHM:
            # remove certs
            pem.removeCatalogPkiTempFiles(self.cat)

    def testCreateCatalogDialog(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        dialog.urlBox.setText("http://"+geoserverLocation()+"/geoserver")
        dialog.passwordBox.setText("password")
        dialog.usernameBox.setText("username")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("username", dialog.username)
        self.assertEquals("password", dialog.password)
        self.assertEquals("name", dialog.name)
        self.assertEquals("http://"+geoserverLocation()+"/geoserver/rest", dialog.url)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()

    def testCreateCatalogDialogWithUrlWithoutProtocol(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        dialog.urlBox.setText(geoserverLocation()+"/geoserver")
        dialog.passwordBox.setText("password")
        dialog.usernameBox.setText("username")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("username", dialog.username)
        self.assertEquals("password", dialog.password)
        self.assertEquals("name", dialog.name)
        self.assertEquals("http://"+geoserverLocation()+"/geoserver/rest", dialog.url)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()

    def testCreateCatalogDialogUsingExistingName(self):
        self.explorer.catalogs()["name"] = self.cat
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertEquals("name_2", dialog.name)
        settings = QSettings()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name_2")
        settings.remove("")
        settings.endGroup()
        del self.explorer.catalogs()["name"]

    def testLastCatalogNameIsShownByDefault(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("catalogname")
        dialog.urlBox.setText("localhost:8081/geoserver")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("catalogname", dialog.name)
        self.assertEquals("http://localhost:8081/geoserver/rest", dialog.url)
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        self.assertEquals("catalogname", dialog.nameBox.text())
        self.assertEquals("localhost:8081/geoserver", dialog.urlBox.text())
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/catalogname")
        settings.remove("")
        settings.endGroup()
Example #19
0
class CreateCatalogDialogTests(unittest.TestCase):

    explorer = GeoServerExplorer()

    def setUp(self):
        # reasize if in PKI auth context
        if hasattr(self, 'authm') and self.authm:
            self.cat = getGeoServerCatalog(authcfgid=AUTHCFGID,
                                           authtype=AUTHTYPE)
        else:
            self.cat = getGeoServerCatalog()

    def tearDown(self):
        # reasize if in PKI auth context
        if hasattr(self, 'authm') and self.authm:
            # remove certs
            pem.removeCatalogPkiTempFiles(self.cat)

    def testCreateCatalogDialog(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        dialog.urlBox.setText("http://" + geoserverLocation() + "/geoserver")
        dialog.passwordBox.setText("password")
        dialog.usernameBox.setText("username")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("username", dialog.username)
        self.assertEquals("password", dialog.password)
        self.assertEquals("name", dialog.name)
        self.assertEquals("http://" + geoserverLocation() + "/geoserver/rest",
                          dialog.url)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()

    def testCreateCatalogDialogWithUrlWithoutProtocol(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        dialog.urlBox.setText(geoserverLocation() + "/geoserver")
        dialog.passwordBox.setText("password")
        dialog.usernameBox.setText("username")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("username", dialog.username)
        self.assertEquals("password", dialog.password)
        self.assertEquals("name", dialog.name)
        self.assertEquals("http://" + geoserverLocation() + "/geoserver/rest",
                          dialog.url)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()

    def testCreateCatalogDialogUsingExistingName(self):
        self.explorer.catalogs()["name"] = self.cat
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertEquals("name_2", dialog.name)
        settings = QSettings()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name_2")
        settings.remove("")
        settings.endGroup()
        del self.explorer.catalogs()["name"]

    def testLastCatalogNameIsShownByDefault(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("catalogname")
        dialog.urlBox.setText("localhost:8081/geoserver")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("catalogname", dialog.name)
        self.assertEquals("http://localhost:8081/geoserver/rest", dialog.url)
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        self.assertEquals("catalogname", dialog.nameBox.text())
        self.assertEquals("localhost:8081/geoserver", dialog.urlBox.text())
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/catalogname")
        settings.remove("")
        settings.endGroup()
Example #20
0
class GeoServerExplorerPlugin:
    def __init__(self, iface):
        self.iface = iface
        config.iface = iface
        if processingOk:
            self.provider = GeoServerProvider()

        try:
            from qgistester.tests import addTestModule
            from geoserverexplorer.test import testplugin
            from geoserverexplorer.test import testpkiplugin
            addTestModule(testplugin, "GeoServer")
            addTestModule(testpkiplugin, "PKI GeoServer")
        except Exception as ex:
            pass

    def unload(self):
        pem.removePkiTempFiles(self.explorer.catalogs())
        self.explorer.deleteLater()
        self.iface.removePluginWebMenu(u"GeoServer", self.explorerAction)
        self.iface.removePluginWebMenu(u"GeoServer", self.configAction)
        self.iface.removePluginWebMenu(u"GeoServer", self.helpAction)
        if processingOk:
            Processing.removeProvider(self.provider)
        layerwatcher.disconnectLayerWasAdded()
        try:
            from qgistester.tests import removeTestModule
            from geoserverexplorer.test import testplugin
            from geoserverexplorer.test import testpkiplugin
            removeTestModule(testplugin, "GeoServer")
            removeTestModule(testpkiplugin, "PKI GeoServer")
        except Exception as ex:
            pass

    def initGui(self):
        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/geoserver.png")
        self.explorerAction = QtGui.QAction(icon, "GeoServer Explorer",
                                            self.iface.mainWindow())
        self.explorerAction.triggered.connect(self.openExplorer)
        self.iface.addPluginToWebMenu(u"GeoServer", self.explorerAction)

        settings = QtCore.QSettings()
        self.explorer = GeoServerExplorer()
        self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.explorer)
        if not settings.value("/GeoServer/Settings/General/ExplorerVisible",
                              False, bool):
            self.explorer.hide()
        self.explorer.visibilityChanged.connect(
            self._explorerVisibilityChanged)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/config.png")
        self.configAction = QtGui.QAction(icon, "GeoServer Explorer settings",
                                          self.iface.mainWindow())
        self.configAction.triggered.connect(self.openSettings)
        self.iface.addPluginToWebMenu(u"GeoServer", self.configAction)

        icon = QtGui.QIcon(os.path.dirname(__file__) + "/images/help.png")
        self.helpAction = QtGui.QAction(icon, "GeoServer Explorer help",
                                        self.iface.mainWindow())
        self.helpAction.triggered.connect(self.showHelp)
        self.iface.addPluginToWebMenu(u"GeoServer", self.helpAction)

        if processingOk:
            Processing.addProvider(self.provider)

        layerwatcher.connectLayerWasAdded(self.explorer)

    def _explorerVisibilityChanged(self, visible):
        settings = QtCore.QSettings()
        settings.setValue("/GeoServer/Settings/General/ExplorerVisible",
                          visible)

    def showHelp(self):
        webbrowser.open_new("file://" + os.path.join(os.path.dirname(
            __file__), "docs", "html", "index.html"))

    def openExplorer(self):
        self.explorer.show()

    def openSettings(self):
        dlg = ConfigDialog(self.explorer)
        dlg.exec_()
Example #21
0
class CreateCatalogDialogTests(unittest.TestCase):

    explorer = GeoServerExplorer()

    def setUp(self):
        self.cat = getGeoServerCatalog()

    def testCreateCatalogDialog(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        dialog.urlBox.setText("http://" + geoserverLocation() + "/geoserver")
        dialog.passwordBox.setText("password")
        dialog.usernameBox.setText("username")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("username", dialog.username)
        self.assertEquals("password", dialog.password)
        self.assertEquals("name", dialog.name)
        self.assertEquals("http://" + geoserverLocation() + "/geoserver/rest",
                          dialog.url)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()

    def testCreateCatalogDialogWithUrlWithoutProtocol(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        dialog.urlBox.setText(geoserverLocation() + "/geoserver")
        dialog.passwordBox.setText("password")
        dialog.usernameBox.setText("username")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("username", dialog.username)
        self.assertEquals("password", dialog.password)
        self.assertEquals("name", dialog.name)
        self.assertEquals("http://" + geoserverLocation() + "/geoserver/rest",
                          dialog.url)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()

    def testCreateCatalogDialogUsingExistingName(self):
        self.explorer.catalogs()["name"] = self.cat
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("name")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertEquals("name_2", dialog.name)
        settings = QSettings()
        settings.beginGroup("/GeoServer/Catalogs/name")
        settings.remove("")
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/name_2")
        settings.remove("")
        settings.endGroup()
        del self.explorer.catalogs()["name"]

    def testLastCatalogNameIsShownByDefault(self):
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        dialog.nameBox.setText("catalogname")
        dialog.urlBox.setText("localhost:8081/geoserver")
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        self.assertTrue(dialog.ok)
        self.assertEquals("catalogname", dialog.name)
        self.assertEquals("http://localhost:8081/geoserver/rest", dialog.url)
        dialog = DefineCatalogDialog(self.explorer.catalogs())
        self.assertEquals("catalogname", dialog.nameBox.text())
        self.assertEquals("localhost:8081/geoserver", dialog.urlBox.text())
        okWidget = dialog.buttonBox.button(dialog.buttonBox.Ok)
        QTest.mouseClick(okWidget, Qt.LeftButton)
        settings = QSettings()
        settings.endGroup()
        settings.beginGroup("/GeoServer/Catalogs/catalogname")
        settings.remove("")
        settings.endGroup()