@@ -124,6 +124,27 @@ def test_default_no_block(constrainedindex, mapp, simpypi, testapp):
124124 assert len (mapp .getreleaseslist (proj )) > 0
125125
126126
127+ @pytest .mark .skipif (
128+ devpi_server_version < parse_version ("6.10" ),
129+ reason = "Requires terminalwriter fixture" )
130+ def test_export_import (constrainedindex , mapp , makemapp , maketestapp , makexom , srcindex , terminalwriter , tmp_path ):
131+ from devpi_server .importexport import do_export , do_import
132+ import devpi_constrained .main
133+ serverdir2 = tmp_path .joinpath ("server2" )
134+ xom2 = makexom (
135+ ["--serverdir" , serverdir2 ],
136+ plugins = [(devpi_constrained .main , None )])
137+ mapp2 = makemapp (maketestapp (xom2 ))
138+ assert mapp .xom != mapp2 .xom
139+ export_path = tmp_path .joinpath ("export" )
140+ do_export (export_path , terminalwriter , mapp .xom )
141+ xom2 .config .args .wait_for_events = False
142+ do_import (export_path , terminalwriter , xom2 )
143+ with xom2 .keyfs .read_transaction ():
144+ constrainedindex2 = xom2 .model .getstage (constrainedindex .stagename )
145+ assert constrainedindex2 .ixconfig ['bases' ] == (srcindex .stagename ,)
146+
147+
127148def test_single_package (constrainedindex , mapp , simpypi , testapp ):
128149 add_proj_versions (simpypi , [
129150 ('devpi' , '1.0b2' ),
0 commit comments