@@ -1816,29 +1816,44 @@ def setUpBeforeMigration(self):
1816
1816
node_02 = DbNode (user_id = default_user .id , uuid = get_new_uuid ())
1817
1817
node_03 = DbNode (user_id = default_user .id , uuid = get_new_uuid ())
1818
1818
node_04 = DbNode (user_id = default_user .id , uuid = get_new_uuid ())
1819
+ node_05 = DbNode (user_id = default_user .id , uuid = get_new_uuid ())
1819
1820
1820
1821
session .add (node_01 )
1821
1822
session .add (node_02 )
1822
1823
session .add (node_03 ) # Empty repository folder
1823
1824
session .add (node_04 ) # Both `path` and `raw_input` subfolder
1825
+ session .add (node_05 ) # Both `path` and `raw_input` subfolder & `.gitignore` in `path`
1824
1826
session .commit ()
1825
1827
1826
1828
assert node_01 .uuid is not None
1827
1829
assert node_02 .uuid is not None
1828
1830
assert node_03 .uuid is not None
1829
1831
assert node_04 .uuid is not None
1832
+ assert node_05 .uuid is not None
1830
1833
1831
1834
self .node_01_pk = node_01 .id
1832
1835
self .node_02_pk = node_02 .id
1833
1836
self .node_03_pk = node_03 .id
1834
1837
self .node_04_pk = node_04 .id
1838
+ self .node_05_pk = node_05 .id
1835
1839
1836
1840
utils .put_object_from_string (node_01 .uuid , 'sub/path/file_b.txt' , 'b' )
1837
1841
utils .put_object_from_string (node_01 .uuid , 'sub/file_a.txt' , 'a' )
1838
1842
utils .put_object_from_string (node_02 .uuid , 'output.txt' , 'output' )
1839
1843
1840
1844
os .makedirs (utils .get_node_repository_sub_folder (node_04 .uuid , 'path' ), exist_ok = True )
1841
1845
os .makedirs (utils .get_node_repository_sub_folder (node_04 .uuid , 'raw_input' ), exist_ok = True )
1846
+ os .makedirs (utils .get_node_repository_sub_folder (node_05 .uuid , 'path' ), exist_ok = True )
1847
+ os .makedirs (utils .get_node_repository_sub_folder (node_05 .uuid , 'raw_input' ), exist_ok = True )
1848
+
1849
+ utils .put_object_from_string (node_05 .uuid , '.gitignore' , 'test' )
1850
+ with open (
1851
+ os .path .join (
1852
+ utils .get_node_repository_sub_folder (node_05 .uuid , 'raw_input' ), 'input.txt' ),
1853
+ 'w' ,
1854
+ encoding = 'utf-8' ,
1855
+ ) as handle :
1856
+ handle .write ('input' )
1842
1857
1843
1858
# Add a repository folder for a node that no longer exists - i.e. it may have been deleted.
1844
1859
utils .put_object_from_string (get_new_uuid (), 'file_of_deleted_node' , 'output' )
@@ -1859,6 +1874,7 @@ def test_migration(self):
1859
1874
node_01 = session .query (DbNode ).filter (DbNode .id == self .node_01_pk ).one ()
1860
1875
node_02 = session .query (DbNode ).filter (DbNode .id == self .node_02_pk ).one ()
1861
1876
node_03 = session .query (DbNode ).filter (DbNode .id == self .node_03_pk ).one ()
1877
+ node_05 = session .query (DbNode ).filter (DbNode .id == self .node_05_pk ).one ()
1862
1878
1863
1879
assert node_01 .repository_metadata == {
1864
1880
'o' : {
@@ -1886,11 +1902,19 @@ def test_migration(self):
1886
1902
}
1887
1903
}
1888
1904
assert node_03 .repository_metadata == {}
1905
+ assert node_05 .repository_metadata == {
1906
+ 'o' : {
1907
+ 'input.txt' : {
1908
+ 'k' : hashlib .sha256 ('input' .encode ('utf-8' )).hexdigest ()
1909
+ }
1910
+ }
1911
+ }
1889
1912
1890
1913
for hashkey , content in (
1891
1914
(node_01 .repository_metadata ['o' ]['sub' ]['o' ]['path' ]['o' ]['file_b.txt' ]['k' ], b'b' ),
1892
1915
(node_01 .repository_metadata ['o' ]['sub' ]['o' ]['file_a.txt' ]['k' ], b'a' ),
1893
1916
(node_02 .repository_metadata ['o' ]['output.txt' ]['k' ], b'output' ),
1917
+ (node_05 .repository_metadata ['o' ]['input.txt' ]['k' ], b'input' ),
1894
1918
):
1895
1919
assert utils .get_repository_object (hashkey ) == content
1896
1920
0 commit comments