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'], '')
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')
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)
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()
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)
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))
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)