From e4a0f70bc7d6f5389c199622f9daebda043c7516 Mon Sep 17 00:00:00 2001 From: yackob03 Date: Thu, 10 Oct 2013 21:01:25 -0400 Subject: [PATCH] Add a horrific test case for the repository images. --- initdb.py | 10 ++++++++++ test.db | Bin 56320 -> 69632 bytes 2 files changed, 10 insertions(+) diff --git a/initdb.py b/initdb.py index 435eca603..10408d6fb 100644 --- a/initdb.py +++ b/initdb.py @@ -90,6 +90,16 @@ if __name__ == '__main__': 'staging'), (1, [], None)], None)], None)) + __generate_repository(new_user_1, 'horrific', False, [], + (2, [(3, [], 'v2.0'), + (1, [(1, [(1, [], ['latest', 'prod'])], + 'staging'), + (1, [], None)], None), + (20, [], 'v3.0'), + (5, [], 'v4.0'), + (1, [(1, [], 'v5.0'), (1, [], 'v6.0')], None)], + None)) + __generate_repository(new_user_2, 'publicrepo', True, [], (10, [], 'latest')) diff --git a/test.db b/test.db index f23bc85257bc5ad86d63b9725347f9292629b80b..7872fe43e099438abf06aeeb35e477b6afdd5a1f 100644 GIT binary patch literal 69632 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 SM7y5Vs)`#r^{mn;@BDwK+G833