예제 #1
0
    def test_archive(self):
        with patch('hpsearch.tasks.grid.hp_grid_search_start.apply_async'
                   ) as mock_fct:
            experiment_group = ExperimentGroupFactory()
        assert mock_fct.call_count == 2

        assert experiment_group.deleted is False
        assert Experiment.objects.filter(
            experiment_group=experiment_group).count() == 2
        assert ExperimentGroup.objects.count() == 1
        assert ExperimentGroup.all.count() == 1

        experiment_group.archive()
        assert experiment_group.deleted is True
        assert ExperimentGroup.objects.count() == 0
        assert ExperimentGroup.all.count() == 1
        assert Experiment.objects.filter(
            experiment_group=experiment_group).count() == 0
        assert Experiment.all.filter(
            experiment_group=experiment_group).count() == 2
        assert experiment_group.experiments.count() == 0
        assert experiment_group.all_experiments.count() == 2

        experiment_group.unarchive()
        assert experiment_group.deleted is False
        assert ExperimentGroup.objects.count() == 1
        assert ExperimentGroup.all.count() == 1
        assert Experiment.objects.filter(
            experiment_group=experiment_group).count() == 2
        assert Experiment.all.filter(
            experiment_group=experiment_group).count() == 2
        assert experiment_group.experiments.count() == 2
        assert experiment_group.all_experiments.count() == 2
예제 #2
0
    def test_archive(self, create_build_job):
        build = BuildJobFactory()
        BuildJobStatus.objects.create(status=JobLifeCycle.SUCCEEDED, job=build)
        create_build_job.return_value = build, True, True

        with patch('hpsearch.tasks.grid.hp_grid_search_start.apply_async') as mock_fct:
            experiment_group = ExperimentGroupFactory()
        assert mock_fct.call_count == 1

        assert experiment_group.deleted is False
        assert Experiment.objects.filter(experiment_group=experiment_group).count() == 2
        assert ExperimentGroup.objects.count() == 1
        assert ExperimentGroup.all.count() == 1

        experiment_group.archive()
        assert experiment_group.deleted is True
        assert ExperimentGroup.objects.count() == 0
        assert ExperimentGroup.all.count() == 1
        assert Experiment.objects.filter(experiment_group=experiment_group).count() == 0
        assert Experiment.all.filter(experiment_group=experiment_group).count() == 2
        assert experiment_group.experiments.count() == 0
        assert experiment_group.all_experiments.count() == 2

        experiment_group.restore()
        assert experiment_group.deleted is False
        assert ExperimentGroup.objects.count() == 1
        assert ExperimentGroup.all.count() == 1
        assert Experiment.objects.filter(experiment_group=experiment_group).count() == 2
        assert Experiment.all.filter(experiment_group=experiment_group).count() == 2
        assert experiment_group.experiments.count() == 2
        assert experiment_group.all_experiments.count() == 2
예제 #3
0
    def test_delete_experiment_groups(self):
        project1 = ProjectFactory()
        ExperimentGroupFactory(project=project1)
        project1.archive()
        project2 = ProjectFactory()
        experiment_group2 = ExperimentGroupFactory(project=project2)
        experiment_group2.archive()

        assert ExperimentGroup.all.count() == 2

        CleaningIntervals.ARCHIVED = -10
        delete_archived_experiment_groups()

        # Although the other entity is archived it's not deleted because of project1
        assert ExperimentGroup.all.count() == 1
예제 #4
0
    def test_delete_experiment_groups(self):
        project1 = ProjectFactory()
        ExperimentGroupFactory(project=project1)
        project1.archive()
        project2 = ProjectFactory()
        experiment_group2 = ExperimentGroupFactory(project=project2)
        experiment_group2.archive()

        assert ExperimentGroup.all.count() == 2

        conf.set(CLEANING_INTERVALS_ARCHIVES, -10)
        delete_archived_experiment_groups()

        # Although the other entity is archived it's not deleted because of project1
        assert ExperimentGroup.all.count() == 1