Exemplo n.º 1
0
    def test_send_data(self, p, q):
        q._get_report.return_value = self.report(
            "tests/files/sample_analysis_storage"
        )

        p.post.return_value.json.return_value = {
            "status": True, "feedback_id": 1,
        }

        feedback = CuckooFeedback()
        cf = CuckooFeedbackObject(
            "message", "*****@*****.**", "name", "company", True
        )
        cf.include_report_web(1)
        cf.include_analysis()
        assert feedback.send_feedback(cf) == 1

        p.post.assert_called_once_with(
            feedback.endpoint,
            data={
                "feedback": mock.ANY,
            },
            files={
                "file": mock.ANY,
            },
            headers=mock.ANY
        )

        # Ensure that the second entry for each file is an open file handle.
        files = p.post.call_args[1]["files"]
        z = zipfile.ZipFile(files["file"])
        assert "Starting analyzer" in z.read("analysis.log")
        assert len(z.read("cuckoo.log")) == 15274
Exemplo n.º 2
0
    def test_send_data(self, p, q):
        q._get_report.return_value = self.report(
            "tests/files/sample_analysis_storage")

        p.post.return_value.json.return_value = {
            "status": True,
            "feedback_id": 1,
        }

        feedback = CuckooFeedback()
        cf = CuckooFeedbackObject("message", "*****@*****.**", "name",
                                  "company", True)
        cf.include_report_web(1)
        cf.include_analysis()
        assert feedback.send_feedback(cf) == 1

        p.post.assert_called_once_with(feedback.endpoint,
                                       data={
                                           "feedback": mock.ANY,
                                       },
                                       files={
                                           "file": mock.ANY,
                                       },
                                       headers=mock.ANY)

        # Ensure that the second entry for each file is an open file handle.
        files = p.post.call_args[1]["files"]
        z = zipfile.ZipFile(files["file"])
        assert "Starting analyzer" in z.read("analysis.log")
        assert len(z.read("cuckoo.log")) == 15274
Exemplo n.º 3
0
    def test_include_analysis(self, p):
        p._get_report.return_value = self.report(
            "tests/files/sample_analysis_storage")

        feedback = CuckooFeedbackObject()
        feedback.include_report_web(1)
        feedback.include_analysis(memdump=False)
        assert len(feedback.to_files()) == 1
Exemplo n.º 4
0
    def test_include_analysis(self, p):
        p._get_report.return_value = self.report(
            "tests/files/sample_analysis_storage"
        )

        feedback = CuckooFeedbackObject()
        feedback.include_report_web(1)
        feedback.include_analysis(memdump=False)
        assert len(feedback.to_files()) == 1
Exemplo n.º 5
0
    def test_include_report(self, p):
        p._get_report.return_value = self.report(
            "tests/files/sample_analysis_storage")

        feedback = CuckooFeedbackObject()
        feedback.include_report_web(1)

        assert feedback.report.target["file"]["name"] == "binary"
        assert feedback.report.target["file"]["size"] == 91010
Exemplo n.º 6
0
    def test_include_report(self, p):
        p._get_report.return_value = self.report(
            "tests/files/sample_analysis_storage"
        )

        feedback = CuckooFeedbackObject()
        feedback.include_report_web(1)

        assert feedback.report.target["file"]["name"] == "binary"
        assert feedback.report.target["file"]["size"] == 91010
Exemplo n.º 7
0
    def test_send_data(self, p, q, c):
        set_cwd(tempfile.mkdtemp())
        fake_task = cwd(analysis=1)
        shutil.copytree("tests/files/sample_analysis_storage", fake_task)

        q.get_report.return_value = self.report(
            "tests/files/sample_analysis_storage")

        p.post.return_value.json.return_value = {
            "status": True,
            "feedback_id": 1,
        }

        c.from_confdir.return_value = {}

        feedback = CuckooFeedback()
        cf = CuckooFeedbackObject("message",
                                  "*****@*****.**",
                                  "name",
                                  "company",
                                  True,
                                  include_files=True,
                                  task_id=1)
        cf.include_report_web(1)
        assert feedback.send_feedback(cf) == 1

        p.post.assert_called_once_with(feedback.endpoint,
                                       data={
                                           "feedback": mock.ANY,
                                       },
                                       files={
                                           "file": mock.ANY,
                                       },
                                       headers=mock.ANY)

        # Ensure that the second entry for each file is an open file handle.
        files = p.post.call_args[1]["files"]
        z = zipfile.ZipFile(files["file"])

        assert "Starting analyzer" in z.read("analysis.log")
        assert len(z.read("cuckoo.log")) == 15274
        shutil.rmtree(fake_task)