Пример #1
0
 def testMultiplePythonSourceWithoutDeps(self):
     mozilla_package_id = create_dummy_mozilla_package()
     mp = models.MozillaPackage.objects.get(id=mozilla_package_id)
     models.MozillaBuildSource(
         mozilla_package=mp,
         remote_package_name='django-tastypie',
         build_type='python',
     ).save()
     models.MozillaBuildSource(
         mozilla_package=mp,
         remote_package_name='foobar',
         build_type='python',
     ).save()
     c = Client()
     resp = c.get('/en-US/get_build_sources/%s/' % mozilla_package_id,
                  follow=True)
     resp_obj = json.loads(resp.content)
     self.assertEqual(resp_obj['status'], 'OK')
     self.assertEqual(len(resp_obj['sources']), 2)
     self.assertEqual(resp_obj['sources'][0]['build_source'],
                      'django-tastypie')
     self.assertEqual(resp_obj['sources'][0]['build_source_type'], 'python')
     self.assertEqual(resp_obj['sources'][0]['system_dependencies'], '')
     self.assertEqual(resp_obj['sources'][0]['package_dependencies'], '')
     self.assertEqual(resp_obj['sources'][1]['build_source'], 'foobar')
     self.assertEqual(resp_obj['sources'][1]['build_source_type'], 'python')
     self.assertEqual(resp_obj['sources'][1]['system_dependencies'], '')
     self.assertEqual(resp_obj['sources'][1]['package_dependencies'], '')
Пример #2
0
    def testSinglePythonSourceWithPackageDeps(self):
        mozilla_package_id = create_dummy_mozilla_package()
        mp = models.MozillaPackage.objects.get(id=mozilla_package_id)
        bs = models.MozillaBuildSource(
            mozilla_package=mp,
            remote_package_name='django-tastypie',
            build_type='python',
        )
        bs.save()
        dep = models.MozillaBuildSourcePackageDependency(
            mozilla_build_source=bs, name='systemdep = 1.1')
        dep.save()
        dep = models.MozillaBuildSourcePackageDependency(
            mozilla_build_source=bs, name='systemdep = 2.1')
        dep.save()

        c = Client()
        resp = c.get('/en-US/get_build_sources/%s/' % mozilla_package_id,
                     follow=True)
        resp_obj = json.loads(resp.content)
        self.assertEqual(resp_obj['status'], 'OK')
        self.assertEqual(resp_obj['sources'][0]['build_source'],
                         'django-tastypie')
        self.assertEqual(resp_obj['sources'][0]['build_source_type'], 'python')
        self.assertEqual(resp_obj['sources'][0]['package_dependencies'],
                         'systemdep = 1.1, systemdep = 2.1')
        self.assertEqual(resp_obj['sources'][0]['system_dependencies'], '')
        self.assertEqual(resp_obj['status'], 'OK')
Пример #3
0
 def testURIExists(self):
     c = Client()
     mozilla_package_id = create_dummy_mozilla_package()
     mp = models.MozillaPackage.objects.get(id=mozilla_package_id)
     bs = models.MozillaBuildSource(
         mozilla_package=mp,
         remote_package_name='django-tastypie',
         build_type='python',
     )
     bs.save()
     resp = c.get('/en-US/build_from_build_source/%s/' % bs.id, follow=True)
     self.assertEqual(resp.status_code, 200)
Пример #4
0
 def setUp(self):
     """
         Create some dummy objects to be used throughout the tests
     """
     self.mozilla_package_id = create_dummy_mozilla_package()
     self.mp = models.MozillaPackage.objects.get(id=self.mozilla_package_id)
     self.bs = models.MozillaBuildSource(
         mozilla_package=self.mp,
         remote_package_name='django-tastypie',
         build_type='python',
     )
     self.bs.save()
Пример #5
0
 def testDeleteGoodBuildSource(self):
     mozilla_package_id = create_dummy_mozilla_package()
     mp = models.MozillaPackage.objects.get(id=mozilla_package_id)
     bs = models.MozillaBuildSource(
         mozilla_package=mp,
         remote_package_name='django-tastypie',
         build_type='python',
     )
     bs.save()
     c = Client()
     self.assertEqual(len(models.MozillaBuildSource.objects.all()), 1)
     resp = c.get('/en-US/delete_build_source/%s/' % bs.id, follow=True)
     self.assertEqual(resp.status_code, 200)
     obj = json.loads(resp.content)
     self.assertEqual(obj['status'], 'OK')
     self.assertEqual(obj['message'], 'Build Source Deleted')
     self.assertEqual(len(models.MozillaBuildSource.objects.all()), 0)
Пример #6
0
def add_build_source(request, id):
    response_obj = {}
    response_obj['status'] = 'FAIL'
    try:
        mozilla_package = models.MozillaPackage.objects.get(id=id)
    except models.MozillaPackage.DoesNotExist:
        return HttpResponse('Could not find Mozilla Package with id:%s' % id)

    if request.method == 'POST':
        mozilla_build_source = models.MozillaBuildSource()
        mozilla_build_source.mozilla_package = mozilla_package
        mozilla_build_source.local_package_name = request.POST.get(
            'local_package_name_input', None)
        mozilla_build_source.remote_package_name = request.POST.get(
            'remote_package_name_input', None)
        build_source = request.POST.get('build_source', None)
        if build_source != 'gem' and build_source != 'python':
            build_source_file = models.MozillaBuildSourceFile.objects.get(
                id=request.POST.get('build_source'))
            mozilla_build_source.build_source_file = build_source_file
        else:
            mozilla_build_source.build_type = build_source
            mozilla_build_source.build_source_file = None
        mozilla_build_source.save()

        system_dependencies = request.POST.getlist('system_dependency[]', [])
        package_dependencies = request.POST.getlist('dependency[]', [])
        for p in system_dependencies:
            tmp = models.MozillaBuildSourceSystemDependency()
            tmp.mozilla_build_source = mozilla_build_source
            tmp.name = p
            tmp.save()

        for p in package_dependencies:
            tmp = models.MozillaBuildSourcePackageDependency()
            tmp.mozilla_build_source = mozilla_build_source
            tmp.name = p
            tmp.save()
        response_obj['status'] = 'OK'

    return HttpResponse(json.dumps(response_obj))
Пример #7
0
 def testBuildFromSourceCreatesModelObject(self):
     self.assertEqual(len(models.MozillaPackageBuild.objects.all()), 0)
     c = Client()
     mozilla_package_id = create_dummy_mozilla_package()
     mp = models.MozillaPackage.objects.get(id=mozilla_package_id)
     bs = models.MozillaBuildSource(
         mozilla_package=mp,
         remote_package_name='django-tastypie',
         build_type='python',
     )
     bs.save()
     post_data = {
         'arch_type': 'x86_64',
         'build_type': 'rpm',
         'test': 'true',
     }
     resp = c.post('/en-US/build_from_build_source/%s/' % bs.id,
                   data=post_data,
                   follow=True)
     self.assertEqual(resp.status_code, 200)
     self.assertEqual(len(models.MozillaPackageBuild.objects.all()), 1)