示例#1
0
 def test_set_metadata(self):
     plugin = self.load_from_zip()
     # Check that the plugin is in the database
     key = plugin.key
     self.assertIsNotNone(Plugin(key))
     self.assertEqual(plugin.metadata['homepage'],
                      'http://boundlessgeo.com')
     plugin.set_metadata('homepage', 'http://my.new.homepage')
     plugin = Plugin(key)
     self.assertEqual(plugin.metadata['homepage'], 'http://my.new.homepage')
     # Check blob metadata
     metadata = dict(validator(StringIO(plugin.blob)))
     self.assertEqual(plugin.metadata['homepage'], metadata['homepage'])
示例#2
0
    def test_load_from_zip(self):
        """
        Create a Plugin from a zip file
        """
        # Make plugin
        plugin = self.load_from_zip()
        # Check that the plugin is in the database
        key = plugin.key
        self.assertIsNotNone(Plugin(key))

        # Check that the plugin is the same binary blob
        plugin_path = os.path.join(DATA_DIR, 'test_plugin_%s.zip' % 1)
        my_zip = open(plugin_path, 'rb')
        plugin_content = my_zip.read()
        self.assertEqual(plugin.blob, plugin_content)
        # Check that metadata are in the DB
        plugin = Plugin(key)
        self.assertEqual(plugin.metadata['name'], 'Test Plugin 1')
        self.assertEqual(plugin.metadata['qgisMinimumVersion'], '2.0')
        self.assertEqual(plugin.metadata['description'],
                         'This is my first awesome plugin for testing.')
        self.assertEqual(plugin.metadata['version'], '0.1')
        self.assertEqual(plugin.metadata['author'],
                         'Larry Shaffer (Boundless)')
        self.assertEqual(
            plugin.metadata['about'],
            'Here is some interesting text about my first test plugin.')
        self.assertEqual(plugin.metadata['tracker'],
                         'https://github.com/boundlessgeo/QGIS/issues')
        self.assertEqual(plugin.metadata['repository'],
                         'https://github.com/boundlessgeo/QGIS')
        # Recommended items:
        self.assertEqual(plugin.metadata['tags'], 'boundless,test')
        self.assertEqual(plugin.metadata['homepage'],
                         'http://boundlessgeo.com')
        self.assertEqual(plugin.metadata['category'], 'Plugins')
        self.assertEqual(plugin.metadata['icon'], 'images/test_plugin_1.png')
        self.assertEqual(plugin.metadata['experimental'], 'False')
        self.assertEqual(plugin.metadata['deprecated'], 'False')

        # Delete
        plugin.delete(key)

        # Test
        def load_deleted():
            Plugin(key)

        self.assertRaises(DoesNotExist, load_deleted)
示例#3
0
    def test_set_version(self):
        plugin = self.load_from_zip()
        # Check that the plugin is in the database
        key = plugin.key
        self.assertIsNotNone(Plugin(key))
        plugin.set_metadata('version', '123.34')

        def load_deleted():
            Plugin(key)

        self.assertRaises(DoesNotExist, load_deleted)
        plugin = Plugin(plugin.key)
        self.assertEqual(plugin.version, '123.34')
        metadata = dict(validator(StringIO(plugin.blob)))
        self.assertEqual(plugin.metadata['version'], metadata['version'])
        self.assertEqual(plugin.metadata['version'], '123.34')
示例#4
0
 def test_getter_metadata(self):
     plugin = self.load_from_zip()
     # Check that the plugin is in the database
     key = plugin.key
     self.assertIsNotNone(Plugin(key))
     self.assertEqual(plugin.metadata['homepage'],
                      'http://boundlessgeo.com')
     self.assertEqual(plugin.metadata['homepage'], plugin.homepage)
 def load_deleted():
     Plugin(plugin.key)
示例#6
0
 def load_from_zip(self, version=1):
     plugin_path = os.path.join(DATA_DIR, 'test_plugin_%s.zip' % version)
     zip_file = open(plugin_path, 'rb')
     plugin = Plugin.create_from_zip(zip_file)
     self.assertIsNotNone(Plugin(plugin.key))
     return plugin
示例#7
0
 def load_deleted():
     Plugin(key)
示例#8
0
 def test_getter_metadata_empty(self):
     plugin = self.load_from_zip()
     # Check that the plugin is in the database
     key = plugin.key
     self.assertIsNotNone(Plugin(key))
     self.assertEquals(plugin.not_exists, '')