def test_get_next_available_revision_label_with_deleted_revision(self):
     image = Generators.image(is_wip=True)
     Generators.imageRevision(image=image)
     to_delete = Generators.imageRevision(image=image, label='C')
     to_delete.delete()
     self.assertEqual(
         ImageService(image).get_next_available_revision_label(), 'D')
    def test_get_revisions_with_description(self):
        image = Generators.image(is_wip=True)
        Generators.imageRevision(image=image)
        Generators.imageRevision(image=image, label='C', description='Foo')

        self.assertEquals(
            ImageService(image).get_revisions_with_description().count(), 1)
Beispiel #3
0
    def test_get_corrupted_images_when_non_final_revision_is_corrupted(self):
        user = Generators.user()
        image = Generators.image(user=user, is_final=False)
        Generators.imageRevision(image=image, is_final=False, corrupted=True)
        Generators.imageRevision(image=image, is_final=True, label='C')

        self.assertFalse(image in UserService(user).get_corrupted_images())
    def test_get_revisions_includes_corrupted(self):
        image = Generators.image(is_wip=True)
        Generators.imageRevision(image=image)
        Generators.imageRevision(image=image, corrupted=True, label='C')

        self.assertEquals(
            ImageService(image).get_revisions(include_corrupted=True).count(),
            2)
    def test_get_revisions_with_title_or_description_only_title(self):
        image = Generators.image(is_wip=True)
        Generators.imageRevision(image=image)
        Generators.imageRevision(image=image, label='C', title='Foo')

        self.assertEqual(
            ImageService(
                image).get_revisions_with_title_or_description().count(), 1)
Beispiel #6
0
    def test_delete_original_when_one_revision_and_revision_is_final(self):
        image = Generators.image(image_file='original.jpg', is_final=False)
        Generators.imageRevision(image=image, image_file='revision.jpg', is_final=True)

        ImageService(image).delete_original()

        self.assertEqual('revision.jpg', image.image_file)
        self.assertTrue(image.is_final)
Beispiel #7
0
    def test_get_corrupted_images_when_corrupted_revision_is_deleted_with_multiple(self):
        user = Generators.user()
        image = Generators.image(user=user)
        Generators.imageRevision(image=image, is_final=False)
        revision = Generators.imageRevision(image=image, is_final=False, corrupted=True, label='C')

        revision.delete()

        self.assertFalse(image in UserService(user).get_corrupted_images())
 def test_get_final_revision_label(self):
     image = Generators.image(is_wip=True)
     revision = Generators.imageRevision(image=image, is_final=True)
     self.assertEquals(
         ImageService(image).get_final_revision_label(), revision.label)
     another = Generators.imageRevision(image=image,
                                        is_final=True,
                                        label='C')
     self.assertEquals(
         ImageService(image).get_final_revision_label(), another.label)
Beispiel #9
0
    def test_delete_original_when_two_revisions_and_C_is_final(self):
        image = Generators.image(image_file='original.jpg', is_final=False)
        Generators.imageRevision(image=image, image_file='revision_b.jpg', is_final=False, label='B')
        Generators.imageRevision(image=image, image_file='revision_c.jpg', is_final=True, label='C')

        ImageService(image).delete_original()

        self.assertEqual('revision_b.jpg', image.image_file)
        self.assertFalse(image.is_final)
        self.assertEqual(1, ImageService(image).get_revisions().count())
        self.assertEqual('C', ImageService(image).get_revisions().first().label)
 def test_get_default_cropping_revision(self, get_revision):
     image = Generators.image(is_wip=True)
     revision = Generators.imageRevision(image=image)
     revision.w = revision.h = 1000
     get_revision.return_value = revision
     self.assertEquals(
         ImageService(image).get_default_cropping(
             revision_label=revision.label), '0,0,1000,1000')
Beispiel #11
0
    def test_imagerevision_post_save(self, add_story):
        revision = Generators.imageRevision()

        add_story.reset_mock()

        imagerevision_post_save(None, revision, True)

        self.assertTrue(add_story.called)
Beispiel #12
0
    def test_imagerevision_post_save_not_created_no_notifications(self, add_story, push_notification):
        revision = Generators.imageRevision()

        push_notification.reset_mock()
        add_story.reset_mock()

        imagerevision_post_save(None, revision, False)

        self.assertFalse(push_notification.called)
        self.assertFalse(add_story.called)
Beispiel #13
0
    def test_imagerevision_post_save(self, add_story, push_notification):
        revision = Generators.imageRevision()

        push_notification.reset_mock()
        add_story.reset_mock()

        imagerevision_post_save(None, revision, True)

        self.assertTrue(push_notification.called)
        self.assertTrue(add_story.called)
Beispiel #14
0
    def test_delete_original_preserves_title_and_description_when_deleted_revision_has_none(self):
        image = Generators.image(image_file='original.jpg', title='Foo')
        revision = Generators.imageRevision(image=image, image_file='revision.jpg')

        ImageService(image).delete_original()

        image = Image.objects.get(pk=image.pk)
        self.assertEqual('revision.jpg', image.image_file)
        self.assertEqual('Foo', image.title)
        self.assertEqual(None, image.description)
        self.assertEqual(1, Image.objects.all().count())
Beispiel #15
0
    def test_imagerevision_post_save_wip_no_notifications(self, add_story, push_notification):
        revision = Generators.imageRevision()
        revision.image.is_wip = True

        push_notification.reset_mock()
        add_story.reset_mock()

        imagerevision_post_save(None, revision, True)

        self.assertFalse(push_notification.called)
        self.assertFalse(add_story.called)
Beispiel #16
0
    def test_imagerevision_post_save_uploading(self, add_story,
                                               push_notification):
        revision = Generators.imageRevision()
        revision.uploader_in_progress = True

        push_notification.reset_mock()
        add_story.reset_mock()

        imagerevision_post_save(None, revision, True)

        self.assertFalse(push_notification.called)
        self.assertFalse(add_story.called)
Beispiel #17
0
    def test_delete_original_when_one_revision_and_original_is_final(self):
        image = Generators.image(image_file='original.jpg')
        PlateSolvingGenerators.solution(image, image_file='original_solution.jpg')

        revision = Generators.imageRevision(image=image, image_file='revision.jpg')
        revision_solution = PlateSolvingGenerators.solution(revision, image_file='revision_solution.jpg')

        ImageService(image).delete_original()

        self.assertEqual('revision.jpg', image.image_file)
        self.assertTrue(image.is_final)
        self.assertEqual('revision_solution.jpg', revision_solution.image_file)
        self.assertEqual(image.pk, revision_solution.object_id)
        self.assertEqual(1, Image.objects.all().count())
        self.assertEqual(1, Solution.objects.all().count())
Beispiel #18
0
    def test_get_hemisphere_positive_declination_revision(self):
        image = Generators.image()
        image_solution = PlateSolvingGenerators.solution(image)

        revision = Generators.imageRevision(image=image)
        revision_solution = PlateSolvingGenerators.solution(revision)

        image_solution.dec = 1
        image_solution.save()

        revision_solution.dec = -1
        revision_solution.save()

        self.assertEqual(Image.HEMISPHERE_TYPE_NORTHERN, ImageService(image).get_hemisphere())
        self.assertEqual(Image.HEMISPHERE_TYPE_SOUTHERN, ImageService(image).get_hemisphere(revision.label))
    def test_get_or_create_advanced_settings_revision_inherits_everything(
            self):
        image = Generators.image()

        solution = PlateSolvingGenerators.solution(image)
        advanced_settings, created = SolutionService.get_or_create_advanced_settings(
            image)
        advanced_settings.sample_raw_frame_file = File(
            open('astrobin/fixtures/test.fits'), "test.fits")
        advanced_settings.scaled_font_size = "L"

        solution.advanced_settings = advanced_settings
        solution.content_object = image
        solution.save()
        advanced_settings.save()

        advanced_settings, created = SolutionService.get_or_create_advanced_settings(
            Generators.imageRevision(image=image))

        self.assertNotEquals(advanced_settings.sample_raw_frame_file.name, "")
        self.assertEquals(advanced_settings.scaled_font_size, "L")
        self.assertFalse(created)
Beispiel #20
0
 def test_get_final_revision(self):
     image = Generators.image(is_wip=True)
     final = Generators.imageRevision(image=image, is_final=True)
     Generators.imageRevision(image=image, is_final=False, label='C')
     self.assertEqual(ImageService(image).get_final_revision(), final)
Beispiel #21
0
 def test_get_revision(self):
     image = Generators.image(is_wip=True)
     revision = Generators.imageRevision(image=image)
     self.assertEqual(ImageService(image).get_revision(revision.label), revision)
Beispiel #22
0
 def test_get_next_available_revision_label_after_z(self):
     image = Generators.image(is_wip=True)
     Generators.imageRevision(image=image, label='Z')
     self.assertEqual(ImageService(image).get_next_available_revision_label(), 'BA')
 def test_get_next_available_revision_label(self):
     image = Generators.image(is_wip=True)
     Generators.imageRevision(image=image)
     self.assertEquals(
         ImageService(image).get_next_available_revision_label(), 'C')
 def test_get_next_available_revision_label_with_corrupted_revision(self):
     image = Generators.image(is_wip=True)
     Generators.imageRevision(image=image)
     Generators.imageRevision(image=image, corrupted=True, label='C')
     self.assertEquals(
         ImageService(image).get_next_available_revision_label(), 'D')