def test_createFeed( self, config ):
     options = None
     cs = COSMSend( options )
     device = 'device 1'
     port = 'port 1'
     config.assert_called_once_with()
     cs.config = self.config_data
     data = {'device': device,
             'port': port,
             Constants.DataPacket.arrival_time: datetime.datetime( 2012, 1, 2, 3, 4, 5 ),
             Constants.DataPacket.current_value: 10}
     cs.createDataStream( device, port, data )
     feed = cs.createFeed( data, device, port )
     pprint.pprint( feed )
     self.assertEqual( feed[Constants.Cosm.title], Constants.Cosm.title )
     self.assertEqual( feed[Constants.Cosm.status], Constants.Cosm.status )
     self.assertEqual( feed[Constants.Cosm.creator], Constants.Cosm.creator )
     self.assertEqual( feed[Constants.Cosm.created], Constants.Cosm.created )
     self.assertEqual( feed[Constants.Cosm.feed], 'url' )
     self.assertEqual( feed[Constants.Cosm.email], Constants.Cosm.email )
     self.assertEqual( feed[Constants.Cosm.id], Constants.Cosm.id )
     self.assertEqual( feed[Constants.Cosm.auto_feed_url], ( 'url', ) )
     self.assertEqual( feed[Constants.Cosm.version], Constants.Cosm.version )
     cs.empty_datastream_list()
     cs = None
 def test_createFeed(self, config):
     options = None
     cs = COSMSend(options)
     device = 'device 1'
     port = 'port 1'
     config.assert_called_once_with()
     cs.config = self.config_data
     data = {
         'device':
         device,
         'port':
         port,
         Constants.DataPacket.arrival_time:
         datetime.datetime(2012, 1, 2, 3, 4, 5),
         Constants.DataPacket.current_value:
         10
     }
     cs.createDataStream(device, port, data)
     feed = cs.createFeed(data, device, port)
     pprint.pprint(feed)
     self.assertEqual(feed[Constants.Cosm.title], Constants.Cosm.title)
     self.assertEqual(feed[Constants.Cosm.status], Constants.Cosm.status)
     self.assertEqual(feed[Constants.Cosm.creator], Constants.Cosm.creator)
     self.assertEqual(feed[Constants.Cosm.created], Constants.Cosm.created)
     self.assertEqual(feed[Constants.Cosm.feed], 'url')
     self.assertEqual(feed[Constants.Cosm.email], Constants.Cosm.email)
     self.assertEqual(feed[Constants.Cosm.id], Constants.Cosm.id)
     self.assertEqual(feed[Constants.Cosm.auto_feed_url], ('url', ))
     self.assertEqual(feed[Constants.Cosm.version], Constants.Cosm.version)
     cs.empty_datastream_list()
     cs = None
    def test_createJSONReport( self, config ):
        options = None
        cs = COSMSend( options )
        device = 'device 1'
        port = 'port 1'
        config.assert_called_once_with()
        cs.config = config_data = \
                {'device 1': \
                    {'port 1': \
                        {
                                Constants.Cosm.datastream.tags: 'tag',
                                Constants.Cosm.datastream.cosm_channel: '1',
                                Constants.Cosm.datastream.max_value: 100,
                                Constants.Cosm.datastream.min_value: 0,
                                Constants.Cosm.location.created: 'created',
                                Constants.Cosm.location.disposition: "fixed",
                                Constants.Cosm.location.domain: 'domain',
                                Constants.Cosm.location.exposure: 'exposure',
                                Constants.Cosm.location.latitude: 30.3351807498968,
                                Constants.Cosm.location.longitude: 97.7104604244232 * -1.0,    # Eclipse save causes error
                                Constants.Cosm.location.private: 'private',
                                Constants.Cosm.apikey: 'apikey',
                                Constants.Cosm.auto_feed_url: "https://api.cosm.com/v2/feeds/64451.json",
                                Constants.Cosm.creator: "https://cosm.com/users/gary_pickens",
                                Constants.Cosm.created: 'created',
                                Constants.Cosm.email: "*****@*****.**",
                                Constants.Cosm.feed: "https://api.cosm.com/v2/feeds/64451.json",
                                Constants.Cosm.id: 64451,
                                Constants.Cosm.private: "false",
                                Constants.Cosm.status: "frozen",
                                Constants.Cosm.tags: ["Door", "Temperature"],
                                Constants.Cosm.title: "Garage",
                                Constants.Cosm.updated: 'updated',
                                Constants.Cosm.url: 'url',
                                Constants.Cosm.version: "1.0.0",
                                Constants.Cosm.location_str: 'location',
                                Constants.Cosm.datastreams: 'datastreams',
                            }
                        }
                    }

        data = {'device': device,
                'port': port,
                Constants.DataPacket.arrival_time: datetime.datetime( 2012, 1, 2, 3, 4, 5 ),
                Constants.DataPacket.current_value: 10}
        cs.createDataStream( device, port, data )

        data[Constants.DataPacket.current_value] = 545454
        cs.createDataStream( device, port, data )

        json = cs.createJSONReport( device, port, data )

        pprint.pprint( json )
        cs.empty_datastream_list()
        cs = None
 def test_empty_datastream_list( self, config ):
     options = None
     cs = COSMSend( options )
     cs.empty_datastream_list()
     device = 'device 1'
     port = 'port 1'
     config.assert_called_once_with()
     cs.config = self.config_data
     data = {'device': device,
             'port': port,
             Constants.DataPacket.arrival_time: datetime.datetime( 2012, 1, 2, 3, 4, 5 ),
             Constants.DataPacket.current_value: 10}
     self.assertEqual( len( cs.datastreams ), 0 )
     cs.createDataStream( device, port, data )
     cs.createDataStream( device, port, data )
     cs.empty_datastream_list()
 def test_empty_datastream_list(self, config):
     options = None
     cs = COSMSend(options)
     cs.empty_datastream_list()
     device = 'device 1'
     port = 'port 1'
     config.assert_called_once_with()
     cs.config = self.config_data
     data = {
         'device':
         device,
         'port':
         port,
         Constants.DataPacket.arrival_time:
         datetime.datetime(2012, 1, 2, 3, 4, 5),
         Constants.DataPacket.current_value:
         10
     }
     self.assertEqual(len(cs.datastreams), 0)
     cs.createDataStream(device, port, data)
     cs.createDataStream(device, port, data)
     cs.empty_datastream_list()
    def test_createJSONReport(self, config):
        options = None
        cs = COSMSend(options)
        device = 'device 1'
        port = 'port 1'
        config.assert_called_once_with()
        cs.config = config_data = \
                {'device 1': \
                    {'port 1': \
                        {
                                Constants.Cosm.datastream.tags: 'tag',
                                Constants.Cosm.datastream.cosm_channel: '1',
                                Constants.Cosm.datastream.max_value: 100,
                                Constants.Cosm.datastream.min_value: 0,
                                Constants.Cosm.location.created: 'created',
                                Constants.Cosm.location.disposition: "fixed",
                                Constants.Cosm.location.domain: 'domain',
                                Constants.Cosm.location.exposure: 'exposure',
                                Constants.Cosm.location.latitude: 30.3351807498968,
                                Constants.Cosm.location.longitude: 97.7104604244232 * -1.0,    # Eclipse save causes error
                                Constants.Cosm.location.private: 'private',
                                Constants.Cosm.apikey: 'apikey',
                                Constants.Cosm.auto_feed_url: "https://api.cosm.com/v2/feeds/64451.json",
                                Constants.Cosm.creator: "https://cosm.com/users/gary_pickens",
                                Constants.Cosm.created: 'created',
                                Constants.Cosm.email: "*****@*****.**",
                                Constants.Cosm.feed: "https://api.cosm.com/v2/feeds/64451.json",
                                Constants.Cosm.id: 64451,
                                Constants.Cosm.private: "false",
                                Constants.Cosm.status: "frozen",
                                Constants.Cosm.tags: ["Door", "Temperature"],
                                Constants.Cosm.title: "Garage",
                                Constants.Cosm.updated: 'updated',
                                Constants.Cosm.url: 'url',
                                Constants.Cosm.version: "1.0.0",
                                Constants.Cosm.location_str: 'location',
                                Constants.Cosm.datastreams: 'datastreams',
                            }
                        }
                    }

        data = {
            'device':
            device,
            'port':
            port,
            Constants.DataPacket.arrival_time:
            datetime.datetime(2012, 1, 2, 3, 4, 5),
            Constants.DataPacket.current_value:
            10
        }
        cs.createDataStream(device, port, data)

        data[Constants.DataPacket.current_value] = 545454
        cs.createDataStream(device, port, data)

        json = cs.createJSONReport(device, port, data)

        pprint.pprint(json)
        cs.empty_datastream_list()
        cs = None