def test_gets_images_urls_inside_item_data(self):

        result = list(mod.find_all_image_urls(self.assessment_sample))
        self.assertIn(
            self.imgurl,
            result,
            "%s not found!" % self.imgurl
        )
    def test_command(self, get_method):

        with open(ASSESSMENT_ITEMS_SAMPLE_PATH) as f:
            assessment_items_content = f.read()

        image_requests = len(
            set(
                list(
                    mod.find_all_image_urls(
                        json.loads(assessment_items_content))) + list(
                            mod.find_all_graphie_urls(
                                json.loads(assessment_items_content)))))

        get_method.return_value = MagicMock(content=assessment_items_content)

        call_command("generate_assessment_zips")

        self.assertEqual(get_method.call_count, image_requests,
                         "requests.get not called the correct # of times!")

        with open(mod.ZIP_FILE_PATH) as f:
            zf = zipfile.ZipFile(mod.ZIP_FILE_PATH)
            self.assertIn(
                "assessmentitems.json",
                zf.namelist())  # make sure assessment items is written

            for filename in zf.namelist():
                if filename.lower().endswith(".gif"):
                    continue
                elif filename.lower().endswith(".jpg"):
                    continue
                elif filename.lower().endswith(".jpeg"):
                    continue
                elif filename.lower().endswith(".png"):
                    continue
                elif filename.lower().endswith(".svg"):
                    continue
                elif filename.lower().endswith("-data.json"):
                    continue
                elif filename in [
                        "assessmentitems.json", "assessmentitems.json.version"
                ]:
                    continue
                else:
                    self.assertTrue(
                        False, "Invalid file %s got in the assessment zip!" %
                        filename)
            zf.close()
    def test_command(self, get_method):

        with open(ASSESSMENT_ITEMS_SAMPLE_PATH) as f:
            assessment_items_content = f.read()

        image_requests = len(set(list(mod.find_all_image_urls(json.loads(assessment_items_content)))
                               + list(mod.find_all_graphie_urls(json.loads(assessment_items_content)))))

        get_method.return_value = MagicMock(content=assessment_items_content)

        call_command("generate_assessment_zips")

        self.assertEqual(get_method.call_count, image_requests, "requests.get not called the correct # of times!")

        with open(mod.ZIP_FILE_PATH) as f:
            zf = zipfile.ZipFile(mod.ZIP_FILE_PATH)
            self.assertIn("assessmentitems.json", zf.namelist())  # make sure assessment items is written

            for filename in zf.namelist():
                if filename.lower().endswith(".gif"):
                    continue
                elif filename.lower().endswith(".jpg"):
                    continue
                elif filename.lower().endswith(".jpeg"):
                    continue
                elif filename.lower().endswith(".png"):
                    continue
                elif filename.lower().endswith(".svg"):
                    continue
                elif filename.lower().endswith("-data.json"):
                    continue
                elif filename in ["assessmentitems.json", "assessmentitems.json.version"]:
                    continue
                else:
                    self.assertTrue(False, "Invalid file %s got in the assessment zip!" % filename)
            zf.close()
    def test_localize_all_image_urls_replaces_with_local_urls(self):
        new_assessment_items = mod.localize_all_image_urls(self.assessment_sample)

        all_images = list(mod.find_all_image_urls(new_assessment_items))
        self.assertNotIn(self.imgurl, all_images)
    def test_localize_all_image_urls_replaces_with_local_urls(self):
        new_assessment_items = mod.localize_all_image_urls(
            self.assessment_sample)

        all_images = list(mod.find_all_image_urls(new_assessment_items))
        self.assertNotIn(self.imgurl, all_images)
    def test_gets_images_urls_inside_item_data(self):

        result = list(mod.find_all_image_urls(self.assessment_sample))
        self.assertIn(self.imgurl, result, "%s not found!" % self.imgurl)