anchor.diff:                  topic="$SYS/#",
                   port=${toString tlsPort},
                   user="no_such_user"))
  -
  -    check_tls()
     '';
   })
  
positive.code:     def publish(args, user, topic="${topic}", port=${toString port}):
          return "{} {}".format(mosquitto_cmd("pub", user, topic, port), args)
  
  
      def subscribe(args, user, topic="${topic}", port=${toString port}):
          return "{} -C 1 {}".format(mosquitto_cmd("sub", user, topic, port), args)
  
      def parallel(*fns):
          from threading import Thread
  
negative.code:     start_all()
      server.wait_for_unit("mosquitto.service")
  
      with subtest("check passwords"):
          client1.succeed(publish("-m test", "password_store"))
          client1.succeed(publish("-m test", "password_file"))
          client1.succeed(publish("-m test", "hashed_store"))
          client1.succeed(publish("-m test", "hashed_file"))
  
      with subtest("check acl"):
          client1.succeed(subscribe("", "reader", topic="$SYS/#"))
          client1.fail(subscribe("", "writer", topic="$SYS/#"))
  
          parallel(
              lambda: client1.succeed(subscribe("-i 3688cdd7-aa07-42a4-be22-cb9352917e40", "reader")),
  