def test_team_imports(self): mydir = os.path.dirname(__file__) build_path = os.path.join(mydir, './build.yml') command.build('test:bar/package', build_path) # Good imports from quilt.team.test.bar import package from quilt.team.test.bar.package import dataframes from quilt.team.test.bar.package import README # Contents of the imports assert isinstance(package, GroupNode) assert isinstance(dataframes, GroupNode) assert isinstance(dataframes.csv, DataNode) assert isinstance(README, DataNode) assert package.dataframes == dataframes assert package.README == README assert set(dataframes._keys()) == {'csv', 'nulls'} assert set(dataframes._group_keys()) == set() assert set(dataframes._data_keys()) == {'csv', 'nulls'} assert isinstance(README(), string_types) assert isinstance(README._data(), string_types) assert isinstance(dataframes.csv(), pd.DataFrame) assert isinstance(dataframes.csv._data(), pd.DataFrame) str(package) str(dataframes) str(README) # Bad attributes of imported packages with self.assertRaises(AttributeError): package.foo with self.assertRaises(AttributeError): package.dataframes.foo with self.assertRaises(AttributeError): package.dataframes.csv.foo # Bad imports with self.assertRaises(ImportError): import quilt.team.test.bar.bad_package with self.assertRaises(ImportError): import quilt.team.test.bad_user.bad_package with self.assertRaises(ImportError): from quilt.team.test.bar.dataframes import blah with self.assertRaises(ImportError): from quilt.team.test.bar.baz import blah
def test_imports(self): mydir = os.path.dirname(__file__) build_path = os.path.join(mydir, './build.yml') command.build('foo/package', build_path) # Good imports from quilt.data.foo import package from quilt.data.foo.package import dataframes from quilt.data.foo.package import README # Contents of the imports assert isinstance(package, GroupNode) assert isinstance(dataframes, GroupNode) assert isinstance(dataframes.csv, DataNode) assert isinstance(README, DataNode) assert package.dataframes == dataframes assert package.README == README assert package['dataframes'] == dataframes assert package['README'] == README assert set(dataframes._keys()) == {'csv', 'nulls'} assert set(dataframes._group_keys()) == set() assert set(dataframes._data_keys()) == {'csv', 'nulls'} assert len(package) == 2 assert len(list(package)) == 2 assert 'dataframes' in dir(package) for item in package: assert isinstance(item, (GroupNode, DataNode)) for node in dataframes: assert isinstance(node, DataNode) assert isinstance(README(), string_types) assert isinstance(README._data(), string_types) assert isinstance(dataframes.csv(), pd.DataFrame) assert isinstance(dataframes.csv._data(), pd.DataFrame) str(package) str(dataframes) str(README) # Store data is read-only with self.assertRaises(IOError): with open(README(), 'w'): pass # Bad attributes of imported packages with self.assertRaises(AttributeError): package.foo with self.assertRaises(AttributeError): package.dataframes.foo with self.assertRaises(AttributeError): package.dataframes.csv.foo # Bad imports with self.assertRaises(ImportError): import quilt.data.foo.bad_package with self.assertRaises(ImportError): import quilt.data.bad_user.bad_package with self.assertRaises(ImportError): from quilt.data.foo.dataframes import blah with self.assertRaises(ImportError): from quilt.data.foo.baz import blah