1+ # # -*- coding: utf-8 -*-
2+ # from tests.common import TosTestBase
3+ #
4+ # from tos.enum import (QueryOrderType, AggregationOperationType, SemanticQueryType,
5+ # QueryOperationType)
6+ #
7+ # from tos.models2 import AggregationRequest, QueryRequest
8+ #
9+ #
10+ # class TestObject(TosTestBase):
11+ #
12+ # def test_simple_query(self):
13+ # # base simple query
14+ # resp = self.client.simple_query(account_id=self.account_id,
15+ # dataset_name="windlike-2")
16+ # self.assertEqual(resp.status_code, 200)
17+ # self.assertEqual(100, len(resp.files))
18+ #
19+ # # with sort,order,max_result
20+ # resp = self.client.simple_query(account_id=self.account_id,
21+ # dataset_name="windlike-2",
22+ # sort="FileModifiedTime",
23+ # order=QueryOrderType.ASC,
24+ # max_results=10)
25+ # self.assertEqual(resp.status_code, 200)
26+ # self.assertEqual(10, len(resp.files))
27+ # file_name = resp.files[0].file_name
28+ # # with next token
29+ # resp = self.client.simple_query(account_id=self.account_id,
30+ # dataset_name="windlike-2",
31+ # sort="FileModifiedTime",
32+ # order=QueryOrderType.ASC,
33+ # max_results=10,next_token=resp.next_token)
34+ # self.assertEqual(10, len(resp.files))
35+ # self.assertNotEquals(file_name , resp.files[0].file_name)
36+ # # with fields
37+ # resp = self.client.simple_query(account_id=self.account_id,
38+ # dataset_name="windlike-2",
39+ # sort="FileModifiedTime",
40+ # order=QueryOrderType.ASC,
41+ # max_results=10,with_fields=["TOSBucketName","FileName","ETag","TOSStorageClass",
42+ # "Size","ContentType","TOSCRC64","ServerSideEncryption",
43+ # "ServerSideEncryptionCustomerAlgorithm","TOSTaggingCount",
44+ # "TOSTagging","TOSUserMeta","TOSVersionId","TOSObjectType",
45+ # "TOSReplicationStatus","TOSIsDeleteMarker","AccountId"],
46+ # query=QueryRequest(
47+ # operation=QueryOperationType.AND,
48+ # sub_queries=[QueryRequest(operation=QueryOperationType.PREFIX,
49+ # field="FileName", value="test-py-sdk")])
50+ # )
51+ # self.assertEqual(1, len(resp.files))
52+ # self.assertEqual(True,resp.files[0].etag is not None)
53+ # # with query
54+ # resp = self.client.simple_query(account_id=self.account_id,
55+ # dataset_name="windlike-2",
56+ # sort="FileModifiedTime",
57+ # order=QueryOrderType.ASC,
58+ # max_results=10, with_fields=["FileName"],
59+ # query=QueryRequest(
60+ # operation=QueryOperationType.AND,
61+ # sub_queries=[QueryRequest(operation=QueryOperationType.PREFIX,
62+ # field="FileName", value="1a5")])
63+ # )
64+ # self.assertEqual(0, len(resp.files))
65+ #
66+ #
67+ # # with aggregations
68+ #
69+ # resp = self.client.simple_query(account_id=self.account_id,
70+ # dataset_name="windlike-2",
71+ # aggregations=[AggregationRequest("Size",AggregationOperationType.MAX),
72+ # AggregationRequest("TOSStorageClass", AggregationOperationType.GROUP),
73+ # AggregationRequest("ContentType", AggregationOperationType.GROUP)
74+ # ])
75+ #
76+ # self.assertEqual(resp.status_code, 200)
77+ #
78+ # def test_semantic_query(self):
79+ # # 文字检索
80+ # resp = self.client.semantic_query(account_id=self.account_id,
81+ # dataset_name="img-test-only-incr",
82+ # semantic_query_type=SemanticQueryType.SemanticQueryTypeText,
83+ # max_results=10,
84+ # semantic_query_input="猫",
85+ # query=QueryRequest(
86+ # operation=QueryOperationType.AND,
87+ # sub_queries=[QueryRequest(operation=QueryOperationType.PREFIX,
88+ # field="FileName",value="1a5")]),
89+ # with_fields=["FileName"],
90+ # )
91+ #
92+ # self.assertEqual(resp.status_code, 200)
0 commit comments