Esempio n. 1
0
    def test_create_and_update(self):
        delete_all_datasets_by_name(self.api, self.dataset_name)
        filters = {"rp_entity_id": {"$in": ['AAAAAA']}}
        dataset = Dataset(
            name=self.dataset_name,
            filters=filters,  # a dataset with a filter
        )
        dataset = self.api.create_dataset(dataset)

        assert dataset.id is not None
        dataset_id = dataset.id

        # change the dataset
        new_filters = {"rp_entity_id": {"$in": ['BBBBBB']}}
        dataset.filters = new_filters
        dataset.save()

        # get the dataset again
        dataset = self.api.get_dataset(dataset_id)
        assert dataset.filters == new_filters
        new_filters = {"rp_entity_id": {"$in": ['CCCCCC']}}
        dataset.filters = new_filters
        dataset.save()

        dataset.delete()

        assert delete_all_datasets_by_name(self.api, self.dataset_name) == 0
Esempio n. 2
0
 def test_granular_dataset(self):
     self.api.log_curl_commands = True
     granular_dataset = Dataset(
         name='Test-granular-dataset',
         filters={"$and": [{"rp_entity_id": {"$in": ["D8442A"]}}, {"relevance": 90}]},
     )
     granular_dataset = self.api.create_dataset(granular_dataset)
     try:
         granular_dataset.json('2018-01-01 00:00', '2018-01-02 00:00')
     finally:
         granular_dataset.delete()
Esempio n. 3
0
 def test_dataset_copy_updated(self):
     source_dataset = Dataset(api=self.api, id='us30')
     new_dataset = Dataset(
         api=self.api,
         name="copy of the us30 dataset",
         filters=source_dataset.filters,
         fields=['timestamp_utc', 'rp_entity_id', 'avg_sentiment'],
         custom_fields=[{
             "avg_sentiment": {
                 "avg": {
                     "field": "EVENT_SENTIMENT_SCORE",
                 }
             }
         }],
         frequency='daily',
         tags=['copy', 'test'])
     new_dataset.save()
     new_dataset.delete()
    def test_indicator_dataset(self):
        indicator_dataset = Dataset(
            name='Test-indicator-dataset',
            filters={"$and": [{
                "rp_entity_id": {
                    "$in": ["D8442A"]
                }
            }]},
            fields=[{
                "average": {
                    "avg": {
                        "field": "EVENT_SENTIMENT_SCORE"
                    }
                }
            }],
            frequency='daily',
        )
        indicator_dataset = self.api.create_dataset(indicator_dataset)
        try:

            # ask the indicator dataset for its data
            response = indicator_dataset.json('2018-01-01 00:00',
                                              '2018-01-02 00:00')
            assert len(response) == 2  # we should get 2 rows
            assert {r['rp_entity_id']
                    for r in response} == {'D8442A', 'ROLLUP'}

            # do a request overriding fields and frequency to see the underlying data
            response = indicator_dataset.json(
                '2018-01-01 00:00',
                '2018-01-02 00:00',
                fields=['rp_story_id', 'rp_entity_id'],
                frequency='granular')
            assert len(
                response) > 200, "We should have many granular analytics rows"
            assert {r['rp_entity_id']
                    for r in response} == {'D8442A'
                                           }, "All rows should be D8442A"
        finally:
            indicator_dataset.delete()