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())
Exemplo n.º 2
0
 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())
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
    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))
Exemplo n.º 8
0
 def test_get_sdk_version(self):
     with DarFile(Pending) as dar:
         print(dar.get_manifest())
         self.assertEqual('0.13.18', dar.get_sdk_version())
Exemplo n.º 9
0
 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()
Exemplo n.º 10
0
def test_get_sdk_version():
    with DarFile(Pending) as dar:
        print(dar.get_manifest())
        assert '0.13.18' == dar.get_sdk_version()
Exemplo n.º 11
0
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)
Exemplo n.º 13
0
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)