Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

move miniconf mqtt integration, republication and validation tests to py test #222

Merged
merged 8 commits into from
Jul 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
- uses: actions/checkout@v4
- name: Start Broker
run: |
sudo apt-get install mosquitto
sudo apt-get install mosquitto mosquitto-clients
sudo service mosquitto start
- uses: dtolnay/rust-toolchain@master
with:
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
RUSTFLAGS: -C link-arg=-Tlink.x -D warnings
working-directory: miniconf/tests/embedded

examples:
test-mqtt:
runs-on: ubuntu-latest
strategy:
matrix:
Expand All @@ -115,7 +115,7 @@ jobs:
- uses: actions/checkout@v4
- name: Start Broker
run: |
sudo apt-get install mosquitto
sudo apt-get install mosquitto mosquitto-clients
sudo service mosquitto start
- uses: dtolnay/rust-toolchain@stable
- run: sh py/test.sh
2 changes: 1 addition & 1 deletion miniconf_mqtt/examples/mqtt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ async fn main() {
// Construct a settings configuration interface.
let mut client = miniconf_mqtt::MqttClient::new(
Stack,
"dt/sinara/dual-iir/01-02-03-04-05-06",
"test/id",
StandardClock::default(),
minimq::ConfigBuilder::<minimq::broker::IpBroker>::new(localhost.into(), &mut buffer)
.keepalive_interval(60),
Expand Down
164 changes: 0 additions & 164 deletions miniconf_mqtt/tests/integration_test.rs

This file was deleted.

103 changes: 0 additions & 103 deletions miniconf_mqtt/tests/republish.rs

This file was deleted.

2 changes: 1 addition & 1 deletion py/miniconf-mqtt/miniconf/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Miniconf Client"""

from .miniconf import Miniconf
from .miniconf import Miniconf, Client, MQTTv5, MiniconfException
from .discover import discover
26 changes: 10 additions & 16 deletions py/miniconf-mqtt/miniconf/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,9 @@
import sys
import os

from aiomqtt import Client
import paho.mqtt

from .miniconf import Miniconf, MiniconfException
from .miniconf import Miniconf, MiniconfException, Client, MQTTv5
from .discover import discover

MQTTv5 = paho.mqtt.enums.MQTTProtocolVersion.MQTTv5

if sys.platform.lower() == "win32" or os.name.lower() == "nt":
from asyncio import set_event_loop_policy, WindowsSelectorEventLoopPolicy

Expand All @@ -28,12 +23,12 @@ def main():
description="Miniconf command line interface.",
formatter_class=argparse.RawDescriptionHelpFormatter,
epilog="""Examples:
%(prog)s dt/sinara/dual-iir/01-02-03-04-05-06 '/stream="192.0.2.16:9293"'
%(prog)s -d dt/sinara/dual-iir/+ '/afe/0' # GET
%(prog)s -d dt/sinara/dual-iir/+ '/afe/0="G10"' # SET
%(prog)s -d dt/sinara/dual-iir/+ '/afe/0=' # CLEAR
%(prog)s -d dt/sinara/dual-iir/+ '/afe?' '?' # LIST-GET
%(prog)s -d dt/sinara/dual-iir/+ '/afe!' # DUMP
%(prog)s test/id '/stream="192.0.2.16:9293"'
%(prog)s -d test/+ '/afe/0' # GET
%(prog)s -d test/+ '/afe/0="G10"' # SET
%(prog)s -d test/+ '/afe/0=' # CLEAR
%(prog)s -d test/+ '/afe?' '?' # LIST-GET
%(prog)s -d test/+ '/afe!' # DUMP
""",
)
parser.add_argument(
Expand Down Expand Up @@ -75,14 +70,13 @@ def main():

async def run():
async with Client(
args.broker, protocol=MQTTv5, logger=logging.getLogger(__name__)
args.broker, protocol=MQTTv5, logger=logging.getLogger("aiomqtt-client")
) as client:
if args.discover:
devices = await discover(client, args.prefix)
if len(devices) != 1:
raise MiniconfException(
"Discover",
f"No unique Miniconf device (found `{devices}`)."
"Discover", f"No unique Miniconf device (found `{devices}`)."
)
prefix = devices.pop()
logging.info("Found device prefix: %s", prefix)
Expand All @@ -95,7 +89,7 @@ async def run():
if arg.endswith("?"):
path = arg.removesuffix("?")
assert path.startswith("/") or not path
for p in await interface.list_paths(path):
for p in await interface.list(path):
try:
value = await interface.get(p)
print(f"List `{p}` = `{value}`")
Expand Down
3 changes: 0 additions & 3 deletions py/miniconf-mqtt/miniconf/discover.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,6 @@
from typing import List

from aiomqtt import Client
import paho.mqtt

MQTTv5 = paho.mqtt.enums.MQTTProtocolVersion.MQTTv5


async def discover(
Expand Down
Loading
Loading