Exemple #1
0
    def testGetModelDetailsEmptyFields(self):
        client = Mock()

        model = Mock(project='project_id',
                     dataset_id='dataset_id',
                     model_id='model_id',
                     description=None,
                     labels={},
                     created=datetime.datetime(2020,
                                               7,
                                               14,
                                               13,
                                               23,
                                               45,
                                               67,
                                               tzinfo=None),
                     expires=datetime.datetime(2021,
                                               7,
                                               14,
                                               13,
                                               23,
                                               45,
                                               67,
                                               tzinfo=None),
                     location='US',
                     modified=datetime.datetime(2020,
                                                7,
                                                15,
                                                15,
                                                11,
                                                23,
                                                32,
                                                tzinfo=None),
                     model_type=0,
                     label_columns=[],
                     feature_columns=[],
                     training_runs=[Mock(start_time=Mock(seconds=1234567))])
        client.get_model = Mock(return_value=model)
        bigquery = BigQueryService(client)

        expected = {
            'details': {
                'id': 'project_id.dataset_id.model_id',
                'name': 'model_id',
                'description': None,
                'labels': None,
                'date_created': '2020-07-14T13:23:45.000067',
                'expires': '2021-07-14T13:23:45.000067',
                'location': 'US',
                'last_modified': '2020-07-15T15:11:23.000032',
                'model_type': Model.ModelType(0).name,
                'schema_labels': [],
                'feature_columns': [],
                'training_runs': ['1970-01-15T06:56:07+00:00']
            }
        }

        result = bigquery.get_model_details('some_model_id')
        self.assertEqual(expected, result)
Exemple #2
0
    def testGetModelDetailsFull(self):
        client = Mock()

        label_col_0 = Mock()
        label_col_0.name = 'schema_label_0'
        label_col_0.type = Mock(type_kind=7)
        label_col_1 = Mock()
        label_col_1.name = 'schema_label_1'
        label_col_1.type = Mock(type_kind=9)

        feature_col_0 = Mock()
        feature_col_0.name = 'feature_col_0'
        feature_col_0.type = Mock(type_kind=8)

        model = Mock(project='project_id',
                     dataset_id='dataset_id',
                     model_id='model_id',
                     description='description of model',
                     labels={
                         'label_0': 'value_0',
                         'label_1': 'value_1'
                     },
                     created=datetime.datetime(2020,
                                               7,
                                               14,
                                               13,
                                               23,
                                               45,
                                               67,
                                               tzinfo=None),
                     expires=datetime.datetime(2021,
                                               7,
                                               14,
                                               13,
                                               23,
                                               45,
                                               67,
                                               tzinfo=None),
                     location='US',
                     modified=datetime.datetime(2020,
                                                7,
                                                15,
                                                15,
                                                11,
                                                23,
                                                32,
                                                tzinfo=None),
                     model_type=0,
                     label_columns=[label_col_0, label_col_1],
                     feature_columns=[feature_col_0],
                     training_runs=[
                         Mock(start_time=Mock(seconds=1234567)),
                         Mock(start_time=Mock(seconds=1234789))
                     ])
        client.get_model = Mock(return_value=model)
        bigquery = BigQueryService(client)

        expected = {
            'details': {
                'id':
                'project_id.dataset_id.model_id',
                'name':
                'model_id',
                'description':
                'description of model',
                'labels': ['label_0: value_0', 'label_1: value_1'],
                'date_created':
                '2020-07-14T13:23:45.000067',
                'last_modified':
                '2020-07-15T15:11:23.000032',
                'expires':
                '2021-07-14T13:23:45.000067',
                'location':
                'US',
                'model_type':
                Model.ModelType(0).name,
                'schema_labels': [{
                    'name':
                    'schema_label_0',
                    'type':
                    SqlTypeNames[StandardSqlDataTypes(7).name].name
                }, {
                    'name':
                    'schema_label_1',
                    'type':
                    SqlTypeNames[StandardSqlDataTypes(9).name].name
                }],
                'feature_columns': [{
                    'name':
                    'feature_col_0',
                    'type':
                    SqlTypeNames[StandardSqlDataTypes(8).name].name
                }],
                'training_runs':
                ['1970-01-15T06:56:07+00:00', '1970-01-15T06:59:49+00:00']
            }
        }

        result = bigquery.get_model_details('some_model_id')

        self.assertEqual(expected, result)