Skip to content

Commit 959fcbc

Browse files
committed
adding tests
1 parent 8115b59 commit 959fcbc

File tree

4 files changed

+38
-5
lines changed

4 files changed

+38
-5
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ Deployed on October 14th, 2024
1515
* `Remove SynDNA reads` superseded `SynDNA Woltka`, which now generates even mates.
1616
* `Woltka v0.1.7, paired-end` superseded `Woltka v0.1.6` in `qp-woltka`; [more information](https://qiita.ucsd.edu/static/doc/html/processingdata/woltka_pairedend.html). Thank you to @qiyunzhu for the benchmarks!
1717
* Other general fixes, like [#3424](https://github.com/qiita-spots/qiita/pull/3424), [#3425](https://github.com/qiita-spots/qiita/pull/3425), [#3439](https://github.com/qiita-spots/qiita/pull/3439), [#3440](https://github.com/qiita-spots/qiita/pull/3440).
18+
* General SPP improvements, like: [NuQC modified to preserve metadata in fastq files](https://github.com/biocore/mg-scripts/pull/155), [use squeue instead of sacct](https://github.com/biocore/mg-scripts/pull/152), , [job aborts if Qiita study contains sample metadata columns reserved for prep-infos](https://github.com/biocore/mg-scripts/pull/151), [metapool generates OverrideCycles value](https://github.com/biocore/metagenomics_pooling_notebook/pull/225).
19+
1820

1921

2022
Version 2024.07

qiita_db/artifact.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,8 @@ def can_be_submitted_to_ebi(self):
929929
# words has more that one processing step behind it
930930
fine_to_send = []
931931
fine_to_send.extend([pt.artifact for pt in self.prep_templates])
932-
fine_to_send.extend([c for a in fine_to_send for c in a.children])
932+
fine_to_send.extend([c for a in fine_to_send if a is not None
933+
for c in a.children])
933934
if self not in fine_to_send:
934935
return False
935936

qiita_db/metadata_template/prep_template.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,8 +274,15 @@ def delete(cls, id_):
274274

275275
# artifacts that are archived are not returned as part of the code
276276
# above and we need to clean them before moving forward
277-
for aa in cls(id_).archived_artifacts:
278-
qdb.artifact.Artifact.delete(aa.id)
277+
sql = """SELECT artifact_id
278+
FROM qiita.preparation_artifact
279+
WHERE prep_template_id = %s"""
280+
qdb.sql_connection.TRN.add(sql, args)
281+
archived_artifacts = set(
282+
qdb.sql_connection.TRN.execute_fetchflatten())
283+
if archived_artifacts:
284+
for aid in archived_artifacts:
285+
qdb.artifact.Artifact.delete(aid)
279286

280287
# Delete the prep template filepaths
281288
sql = """DELETE FROM qiita.prep_template_filepath

qiita_db/test/test_artifact.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from qiita_core.util import qiita_test_checker
2424
from qiita_core.testing import wait_for_processing_job
2525
import qiita_db as qdb
26+
from qiita_ware.private_plugin import _delete_analysis_artifacts
2627

2728

2829
class ArtifactTestsReadOnly(TestCase):
@@ -1518,15 +1519,37 @@ def test_archive(self):
15181519
'be archived'):
15191520
A.archive(8)
15201521

1521-
for aid in range(4, 7):
1522+
for aid in range(5, 7):
15221523
ms = A(aid).merging_scheme
15231524
A.archive(aid)
15241525
self.assertEqual(ms, A(aid).merging_scheme)
15251526
exp_nodes.remove(A(aid))
15261527
self.assertCountEqual(A(1).descendants.nodes(), exp_nodes)
15271528

15281529
obs_artifacts = len(qdb.util.get_artifacts_information([4, 5, 6, 8]))
1529-
self.assertEqual(1, obs_artifacts)
1530+
self.assertEqual(2, obs_artifacts)
1531+
1532+
# now let's try to delete the prep
1533+
PT = qdb.metadata_template.prep_template.PrepTemplate
1534+
QEE = qdb.exceptions.QiitaDBExecutionError
1535+
pt = A(1).prep_templates[0]
1536+
# it should fail as this prep is public and have been submitted to ENA
1537+
with self.assertRaisesRegex(QEE, 'Cannot remove prep template 1'):
1538+
PT.delete(pt.id)
1539+
# now, remove those restrictions + analysis + linked artifacts
1540+
sql = "DELETE FROM qiita.artifact_processing_job"
1541+
qdb.sql_connection.perform_as_transaction(sql)
1542+
sql = "DELETE FROM qiita.ebi_run_accession"
1543+
qdb.sql_connection.perform_as_transaction(sql)
1544+
sql = "UPDATE qiita.artifact SET visibility_id = 1"
1545+
qdb.sql_connection.perform_as_transaction(sql)
1546+
_delete_analysis_artifacts(qdb.analysis.Analysis(1))
1547+
_delete_analysis_artifacts(qdb.analysis.Analysis(2))
1548+
_delete_analysis_artifacts(qdb.analysis.Analysis(3))
1549+
for aid in [3, 2, 1]:
1550+
A.delete(aid)
1551+
1552+
PT.delete(1)
15301553

15311554

15321555
if __name__ == '__main__':

0 commit comments

Comments
 (0)