Beispiel #1
0
    def create_meta(self):
        astro_thing = find_astro_sun_thing()
        astro_channel = f"{astro_thing}:rise#start"
        name = get_random_name()

        # create item and link
        run_coro(
            async_create_item('DateTime', name, 'MyCustomLabel',
                              tags=['Tag1']))
        run_coro(async_create_channel_link(astro_channel, item_name=name))

        # get item
        run_coro(async_get_item(name))

        # delete it
        run_coro(async_remove_item(name))

        time.sleep(0.2)

        # it still exists but now with editable=False
        try:
            run_coro(async_get_item(name))
        except ItemNotFoundError:
            return True

        return False
    def create_meta(self):
        with OpenhabTmpItem(None, 'String') as tmpitem:
            d = run_coro(async_get_item_with_habapp_meta(tmpitem.name))
            assert d['metadata']['HABApp'] is None

            # create empty set
            run_coro(
                async_set_habapp_metadata(tmpitem.name,
                                          HABAppThingPluginData()))

            d = run_coro(async_get_item_with_habapp_meta(tmpitem.name))
            assert isinstance(d['metadata']['HABApp'], HABAppThingPluginData)

            # create valid data
            run_coro(
                async_set_habapp_metadata(
                    tmpitem.name,
                    HABAppThingPluginData(created_link='asdf',
                                          created_ns=['a', 'b'])))

            d = run_coro(async_get_item_with_habapp_meta(tmpitem.name))
            d = d['metadata']['HABApp']
            assert isinstance(d, HABAppThingPluginData)
            assert d.created_link == 'asdf'
            assert d.created_ns == ['a', 'b']

            # remove metadata again
            run_coro(async_remove_habapp_metadata(tmpitem.name))
            d = run_coro(async_get_item_with_habapp_meta(tmpitem.name))
            assert d['metadata']['HABApp'] is None

        return True