def METHOD_NAME(mock_request):
    result_json = json.loads('''
        {
            "value": [
                {
                    "LogicalName": "stream",
                    "PrimaryIdAttribute": "primary",
                    "ChangeTrackingEnabled": false,
                    "CanChangeTrackingBeEnabled": {
                        "Value": false
                    },
                    "Attributes": [
                        {
                            "LogicalName": "test",
                            "AttributeType": "String"
                        }
                    ]
                }
            ]
        }
    ''')
    mock_request.return_value.status.return_value = 200
    mock_request.return_value.json.return_value = result_json
    source = SourceMicrosoftDataverse()
    logger_mock, config_mock = MagicMock(), MagicMock()
    catalog = source.discover(logger_mock, config_mock)
    assert catalog.streams[0].default_cursor_field is None or len(catalog.streams[0].default_cursor_field) == 0
    assert not {SyncMode.full_refresh} ^ set(catalog.streams[0].supported_sync_modes)
    assert not {'primary'} ^ set(catalog.streams[0].source_defined_primary_key[0])
    assert catalog.streams[0].json_schema["properties"]["test"] == AirbyteType.String.value