Repository navigation
Expand file tree
/
Copy pathconftest.py
More file actions
161 lines (138 loc) · 5.62 KB
/
Copy pathconftest.py
File metadata and controls
161 lines (138 loc) · 5.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# Copyright 2026 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Pytest configuration and local fallback mocks for developer_knowledge_v1."""
import sys
from unittest.mock import MagicMock
try:
from google.cloud import developer_knowledge_v1 # noqa: F401
except ImportError:
try:
import google.cloud
import google.developer_knowledge_v1 as dk
google.cloud.developer_knowledge_v1 = dk
sys.modules["google.cloud.developer_knowledge_v1"] = dk
except ImportError:
pass
if "google.cloud.developer_knowledge_v1" not in sys.modules:
mock_dk = MagicMock()
class SearchDocumentChunksRequest:
def __init__(self, query="", page_size=5, page_token="", filter=""):
self.query = query
self.page_size = page_size
self.page_token = page_token
self.filter = filter
class GetDocumentRequest:
def __init__(self, name=""):
self.name = name
class BatchGetDocumentsRequest:
def __init__(self, names=None):
self.names = names or []
class AnswerQueryRequest:
def __init__(self, query="", filter=""):
self.query = query
self.filter = filter
class DocumentChunk:
def __init__(
self,
parent="documents/docs.cloud.google.com/storage/docs/creating-buckets",
id="chunk-1",
content="To create a bucket, use the Google Cloud console or gcloud CLI.",
):
self.parent = parent
self.id = id
self.content = content
class Document:
def __init__(
self,
name="documents/docs.cloud.google.com/storage/docs/creating-buckets",
title="Creating Buckets",
uri="docs.cloud.google.com/storage/docs/creating-buckets",
data_source="docs.cloud.google.com",
content_length_bytes=1024,
content="# Creating Buckets...",
):
self.name = name
self.title = title
self.uri = uri
self.data_source = data_source
self.content_length_bytes = content_length_bytes
self.content = content
class Answer:
def __init__(
self,
answer_text=(
"Use `gcloud storage buckets create` to create a new storage" " bucket."
),
citations=None,
references=None,
):
self.answer_text = answer_text
self.citations = citations or []
self.references = references or []
class SearchDocumentChunksResponse:
def __init__(self, results=None):
self.results = results or [DocumentChunk()]
class BatchGetDocumentsResponse:
def __init__(self, documents=None):
self.documents = documents or []
class AnswerQueryResponse:
def __init__(self, answer=None):
self.answer = answer or Answer()
class DeveloperKnowledgeClient:
def search_document_chunks(self, request=None):
return SearchDocumentChunksResponse()
def get_document(self, request=None):
name = (
request.name
if request and request.name
else "documents/docs.cloud.google.com/storage/docs/creating-buckets"
)
return Document(name=name)
def batch_get_documents(self, request=None):
names = request.names if request and request.names else []
docs = [Document(name=n, title=f"Doc {n}") for n in names]
return BatchGetDocumentsResponse(documents=docs)
def answer_query(self, request=None):
return AnswerQueryResponse()
mock_dk.DeveloperKnowledgeClient = DeveloperKnowledgeClient
mock_dk.SearchDocumentChunksRequest = SearchDocumentChunksRequest
mock_dk.GetDocumentRequest = GetDocumentRequest
mock_dk.BatchGetDocumentsRequest = BatchGetDocumentsRequest
mock_dk.AnswerQueryRequest = AnswerQueryRequest
mock_dk.SearchDocumentChunksResponse = SearchDocumentChunksResponse
mock_dk.BatchGetDocumentsResponse = BatchGetDocumentsResponse
mock_dk.AnswerQueryResponse = AnswerQueryResponse
mock_dk.Document = Document
mock_dk.DocumentChunk = DocumentChunk
mock_services = MagicMock()
mock_dk_service = MagicMock()
mock_pagers = MagicMock()
mock_pagers.SearchDocumentChunksPager = SearchDocumentChunksResponse
mock_dk_service.pagers = mock_pagers
mock_services.developer_knowledge = mock_dk_service
mock_dk.services = mock_services
mock_google = MagicMock()
mock_cloud = MagicMock()
mock_cloud.developer_knowledge_v1 = mock_dk
mock_google.cloud = mock_cloud
sys.modules["google"] = mock_google
sys.modules["google.cloud"] = mock_cloud
sys.modules["google.cloud.developer_knowledge_v1"] = mock_dk
sys.modules["google.cloud.developer_knowledge_v1.services"] = mock_services
sys.modules["google.cloud.developer_knowledge_v1.services.developer_knowledge"] = (
mock_dk_service
)
sys.modules[
"google.cloud.developer_knowledge_v1.services.developer_knowledge.pagers"
] = mock_pagers