chenzhaoyang
2025-12-17 063da0bf961e1d35e25dc107f883f7492f4c5a7c
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
---
test_name: test_project_presign_endpoint_s3
strict: false
marks:
  - usefixtures:
      - django_live_url
stages:
 
  - id: signup
    type: ref
 
  - id: create_project
    type: ref
 
  - name: stage
    request:
      data:
        bucket: pytest-s3-images
        project: "{project_pk}"
        title: Testing S3 storage (bucket from conftest.py)
        use_blob_urls: true
        presign_ttl: 3600
      method: POST
      url: "{django_live_url}/api/storages/s3"
    response:
      status_code: 201
 
  - name: get_presigned_url
    request:
      url: "{django_live_url}/projects/{project_pk}/presign?fileuri=czM6Ly9weXRlc3QtczMtaW1hZ2VzL2ltYWdlMS5qcGc="
    response:
      status_code: 303
      headers:
        location: !re_match "https://pytest-s3-images.s3.amazonaws.com.+X-Amz-Security-Token=testing"
 
 
---
test_name: test_task_presign_endpoint_s3
strict: false
marks:
  - usefixtures:
      - django_live_url
stages:
 
  - id: signup
    type: ref
 
  - id: create_project
    type: ref
 
  - id: create_task
    type: ref
 
  - name: stage
    request:
      data:
        bucket: pytest-s3-images
        project: "{project_pk}"
        title: Testing S3 storage (bucket from conftest.py)
        use_blob_urls: true
        presign_ttl: 3600
      method: POST
      url: "{django_live_url}/api/storages/s3"
    response:
      status_code: 201
 
  - name: get_presigned_url
    request:
      url: "{django_live_url}/tasks/{task_pk}/presign?fileuri=czM6Ly9weXRlc3QtczMtaW1hZ2VzL2ltYWdlMS5qcGc="
    response:
      status_code: 303
      headers:
        location: !re_match "https://pytest-s3-images.s3.amazonaws.com.+X-Amz-Security-Token=testing"
 
 
---
test_name: test_project_presign_endpoint_gcp
strict: false
marks:
  - usefixtures:
      - django_live_url
stages:
 
  - id: signup
    type: ref
 
  - id: create_project
    type: ref
 
  - name: stage
    request:
      data:
        bucket: test-gs-bucket
        project: "{project_pk}"
        title: Test GCS storage import (mocked GCS client from conftest.py)
        use_blob_urls: true
      method: POST
      url: "{django_live_url}/api/storages/gcs"
    response:
      status_code: 201
 
  - name: get_presigned_url
    request:
      url: "{django_live_url}/projects/{project_pk}/presign?fileuri=Z3M6Ly90ZXN0LWdzLWJ1Y2tldC9tYW51YWwubGluay5qcGc="
    response:
      status_code: 303
      headers:
        location: "https://storage.googleapis.com/test-gs-bucket/manual.link.jpg"
 
 
---
test_name: test_task_presign_endpoint_gcp
strict: false
marks:
  - usefixtures:
      - django_live_url
stages:
 
  - id: signup
    type: ref
 
  - id: create_project
    type: ref
 
  - id: create_task
    type: ref
 
  - name: stage
    request:
      data:
        bucket: test-gs-bucket
        project: "{project_pk}"
        title: Test GCS storage import (mocked GCS client from conftest.py)
        use_blob_urls: true
      method: POST
      url: "{django_live_url}/api/storages/gcs"
    response:
      status_code: 201
 
  - name: get_presigned_url
    request:
      url: "{django_live_url}/tasks/{task_pk}/presign?fileuri=Z3M6Ly90ZXN0LWdzLWJ1Y2tldC9tYW51YWwubGluay5qcGc="
    response:
      status_code: 303
      headers:
        location: "https://storage.googleapis.com/test-gs-bucket/manual.link.jpg"