def bytecode_submission(request): """ Submits a new analysis with a smart contract bytecode """ if request.method == 'GET': all_analysis = Analysis.objects.all() serializer = AnalysisSerializer(all_analysis, many=True) return Response(serializer.data) elif request.method == 'POST': serializer = AnalysisSerializer(data=request.data) if serializer.is_valid(): submission = serializer.save() t = myth_task.apply_async([submission.bytecode], task_id=str(submission.uuid)) return Response(serializer.data, status=rest_framework.status.HTTP_201_CREATED) return Response(serializer.errors, status=rest_framework.status.HTTP_400_BAD_REQUEST)
def test_bytecode_with_issues(self): args = [contracts[9]] task = myth_task.apply_async(args) time.sleep(5) self.assertIn(CALL_WITH_DYNAMIC_ADDRESS, task.result['stdout'])
def test_send_task(self): args = ["0x5050"] uuid_str = '12345678-1234-5678-1234-567812345678' task = myth_task.apply_async(args, task_id=uuid_str) time.sleep(5) self.assertEqual(task.status, 'SUCCESS')