예제 #1
0
 def test_can_add_2_targets(self):
     a = Controller()
     t1 = mock_target('Mock Target 1')
     t2 = mock_target('Mock Target 2')
     a.add_target(t1)
     a.add_target(t2)
     assert a.get_target_names() == ('Mock Target 1', 'Mock Target 2')
예제 #2
0
def mock_application():
    tf = mock.Mock()
    df = mock.Mock()

    a = Controller(timefcn=tf, delayfcn=df)

    s = mock_source('Source 1')
    a.add_source(s)

    for count in range(2):
        t = mock_target('Target {}'.format(count + 1))
        a.add_target(t)

    a._read_sources = mock.Mock(wraps=a._read_sources)
    a._update_targets = mock.Mock(wraps=a._update_targets)

    return a
app.set_steps(**tgr_config)

# Source
o = W1ThermSensor()
print(o)
s = DataSourceWrapper(
        fields=['temperature'],
        source=o.get_temperature,
        name=str(o)
)
app.add_source(s)

# Target 1
csl_config = config['targets']['console']
t = ConsoleDisplay(**csl_config)
app.add_target(t)

# Target 2
tsl_config = config['targets']['thingspeak']
t = ThingSpeakLogger(**tsl_config)
app.add_target(t)

# Target 3
csv_config = config['targets']['csv_file']
t = TextLogger(**csv_config)
app.add_target(t)

# Target 4
twt_config = config['targets']['twitter']
t = TwitterUpdate(**twt_config)
app.add_target(t)
예제 #4
0
 def test_cannot_start_without_source(self):
     a = Controller()
     t = mock_target()
     a.add_target(t)
     with pytest.raises(ConfigurationError):
         a.run()
예제 #5
0
 def test_can_add_target(self):
     a = Controller()
     t = mock_target('Mock Target')
     a.add_target(t)
     assert a.get_target_names() == ('Mock Target',)