Ejemplo n.º 1
0
 def test_create_does_not_create_meta_after_first_time_plugin_name_is_used(
         self):
     """
     Test whether overriden create does not create a new plugin meta when creating a
     plugin version with a name that already exists in the system.
     """
     user = User.objects.get(username=self.username)
     validated_data = self.plg_repr.copy()
     validated_data['parameters'][0]['type'] = 'string'
     validated_data['version'] = '0.2.2'
     validated_data['meta'] = {
         'name': self.plugin_name,
         'public_repo': 'https://github.com/FNNDSC'
     }
     validated_data['dock_image'] = 'fnndsc/pl-testapp'
     f = ContentFile(json.dumps(self.plg_repr).encode())
     f.name = 'testapp.json'
     validated_data['descriptor_file'] = f
     validated_data['owner'] = [user]
     plg_serializer = PluginSerializer()
     n_plg_meta = PluginMeta.objects.count()
     plg_meta = PluginMeta.objects.get(name=self.plugin_name)
     plugin = plg_serializer.create(validated_data)
     self.assertEqual(n_plg_meta, PluginMeta.objects.count())
     self.assertEqual(plugin.meta, plg_meta)
Ejemplo n.º 2
0
 def test_create_also_creates_meta_first_time_plugin_name_is_used(self):
     """
     Test whether overriden create also creates a new plugin meta when creating a
     plugin with a new name that doesn't already exist in the system.
     """
     user = User.objects.get(username=self.username)
     validated_data = self.plg_repr.copy()
     validated_data['parameters'][0]['type'] = 'string'
     validated_data['meta'] = {'name': 'testapp',
                               'public_repo': 'https://github.com/FNNDSC'}
     validated_data['dock_image'] = 'fnndsc/pl-testapp'
     f = ContentFile(json.dumps(self.plg_repr).encode())
     f.name = 'testapp.json'
     validated_data['descriptor_file'] = f
     validated_data['user'] = user
     plg_serializer = PluginSerializer()
     with self.assertRaises(PluginMeta.DoesNotExist):
         PluginMeta.objects.get(name='testapp')
     plg_serializer.create(validated_data)
     self.assertEqual(PluginMeta.objects.get(name='testapp').name, 'testapp')