#!/usr/bin/env python

import common
import os
import sys
import time

class TimeoutModem(common.Modem):
    def ConnectDone(self, old, new, why):
        time.sleep(15)
        sys.exit(0)

def setup():
    os.system("/usr/local/lib/flimflam/test/connect-service 'Test Network' "
              "2>/dev/null &")
    return 0

common.setup(setup)
common.cleanup(lambda: sys.exit(1), after=30)
mm = common.ModemManager(common.bus, common.OCMM)
tm0 = TimeoutModem(mm, '/TestModem/0')
common.run()
