def test_dar_version_compatibility(subtests): dars = list(ARCHIVES.glob('**/*.dar')) assert len(dars) > 0, f'Could not find any DARs in {ARCHIVES}' for dar in ARCHIVES.glob('**/*.dar'): short_dar = dar.relative_to(ARCHIVES) with subtests.test(str(short_dar)): dar_file = DarFile(dar) metadata = dar_file.read_metadata() LOG.info('Successfully read %s with package IDs %r.', short_dar, metadata.package_ids())
def test_get_sdk_version(self): with TemporaryDar(DAML_FILE, damlc_component='damlc:0.12.20') as outputs: for output in outputs: if output.endswith('.dar'): with DarFile(output) as dar: print(dar.get_manifest()) self.assertEqual('0.12.20', dar.get_sdk_version())
def test_calculate_signatories(self): with DarFile(Pending) as dar: store = dar.read_metadata() template = next(iter(store.resolve_template('Pending.Counter'))) actual = template.signatories(store, { 'owner': 'Mommy', 'value': 0 }) self.assertEqual(['Mommy'], actual)
async def test_package_loading(sandbox): d = {} with DarFile(AllKindsOf) as dar: expected_package_ids = dar.get_package_provider().get_package_ids() async with async_network(url=sandbox, dars=AllKindsOf) as network: client = network.aio_new_party() client.add_ledger_ready(lambda event: setitem(d, 'metadata', event.package_store)) network.start() store: PackageStore = d['metadata'] actual_package_ids = store.package_ids() assert set(expected_package_ids).issubset(set(actual_package_ids))
def create_package_provider(daml_file: 'Path') -> 'PackageProvider': data = {} with TemporaryDar(daml_file) as outputs: for output in outputs: if output.endswith('.dar'): with DarFile(output) as dar: data.update(dar.get_package_provider().get_all_packages()) elif output.endswith('.dalf'): from dazl._gen.da.daml_lf_pb2 import Archive a = Archive() with open(output, 'rb') as f: a.ParseFromString(f.read()) data[a.hash] = a.payload return MemoryPackageProvider(data)
def test_package_loading(): d = {} with DarFile(AllKindsOf) as dar: expected_package_ids = dar.get_package_provider().get_package_ids() with sandbox(AllKindsOf) as proc: network = Network() network.set_config(url=proc.url) client = network.aio_party('TestParty') client.add_ledger_ready(lambda event: setitem(d, 'metadata', event.package_store)) network.run_until_complete() store: PackageStore = d['metadata'] actual_package_ids = store.package_ids() assert set(expected_package_ids) == set(actual_package_ids)
def test_complete_package_loading(self): # Attempt to load only the DALF into the Sandbox; this will cause the PackageService to # return a nonsensical result, the lack of an exception being thrown signals that we can # tolerate this condition d = {} with DarFile(DAR_FILE) as dar: expected_package_ids = dar.get_package_provider().get_package_ids() with sandbox(DAR_FILE) as proc: network = Network() network.set_config(url=proc.url) client = network.aio_party('TestParty') client.add_ledger_ready(lambda event: setitem(d, 'metadata', event.package_store)) network.run_until_complete() store: PackageStore = d['metadata'] actual_package_ids = store.package_ids() self.assertEqual(set(expected_package_ids), set(actual_package_ids))
def test_get_sdk_version(self): with DarFile(Pending) as dar: print(dar.get_manifest()) self.assertEqual('0.13.18', dar.get_sdk_version())
def test_render_metadata(self): with DarFile(Pending) as dar: pp = DamlPrettyPrinter( store=dar.read_metadata(), context=PrettyOptions(show_hidden_types=True)) pp.render_store()
def test_get_sdk_version(): with DarFile(Pending) as dar: print(dar.get_manifest()) assert '0.13.18' == dar.get_sdk_version()
def dar_fixture() -> 'DarFixture': with DarFile(Pending) as dar: store = dar.read_metadata() yield DarFixture(dar, store)
def setUpClass(cls) -> None: cls.dar = DarFile(Pending) cls.store = cls.dar.read_metadata() cls.sut = ProtobufSerializer(cls.store)
def create_package_provider(dar_file: 'Path') -> 'PackageProvider': data = {} with DarFile(dar_file) as dar: data.update(dar.get_package_provider().get_all_packages()) return MemoryPackageProvider(data)