devdox-ai-locust 0.1.3.post1__py3-none-any.whl → 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of devdox-ai-locust might be problematic. Click here for more details.
- devdox_ai_locust/cli.py +19 -3
- devdox_ai_locust/config.py +1 -1
- devdox_ai_locust/hybrid_loctus_generator.py +37 -8
- devdox_ai_locust/locust_generator.py +84 -9
- devdox_ai_locust/prompt/test_data.j2 +152 -28
- devdox_ai_locust/prompt/workflow.j2 +349 -11
- devdox_ai_locust/templates/mongo/data_provider.py.j2 +303 -0
- devdox_ai_locust/templates/mongo/db_config.py.j2 +271 -0
- devdox_ai_locust/templates/mongo/db_integration.j2 +352 -0
- devdox_ai_locust/templates/readme.md.j2 +3 -1
- devdox_ai_locust/templates/requirement.txt.j2 +5 -2
- devdox_ai_locust/templates/test_data.py.j2 +5 -1
- {devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/METADATA +26 -11
- {devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/RECORD +18 -15
- {devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/WHEEL +0 -0
- {devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/entry_points.txt +0 -0
- {devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/licenses/LICENSE +0 -0
- {devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,352 @@
|
|
|
1
|
+
# MongoDB Integration Guide for Locust Load Testing
|
|
2
|
+
|
|
3
|
+
## 🎯 Overview
|
|
4
|
+
|
|
5
|
+
This guide explains how to integrate MongoDB with your Locust load tests to use realistic, production-like data instead of randomly generated data.
|
|
6
|
+
|
|
7
|
+
## 📋 Table of Contents
|
|
8
|
+
|
|
9
|
+
1. [Why Use MongoDB?](#why-use-mongodb)
|
|
10
|
+
2. [Architecture](#architecture)
|
|
11
|
+
3. [Quick Start](#quick-start)
|
|
12
|
+
4. [Configuration](#configuration)
|
|
13
|
+
5. [Seeding Data](#seeding-data)
|
|
14
|
+
6. [Using MongoDB Data in Tests](#using-mongodb-data-in-tests)
|
|
15
|
+
7. [Performance Tuning](#performance-tuning)
|
|
16
|
+
8. [Troubleshooting](#troubleshooting)
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Why Use MongoDB?
|
|
21
|
+
|
|
22
|
+
### Benefits
|
|
23
|
+
|
|
24
|
+
✅ **Realistic Load Testing**: Use actual production-like data patterns
|
|
25
|
+
✅ **Data Consistency**: Same data across test runs for reproducibility
|
|
26
|
+
✅ **Complex Scenarios**: Test with real data relationships and edge cases
|
|
27
|
+
✅ **Performance Baseline**: Measure with production-scale data volumes
|
|
28
|
+
✅ **Debugging**: Easier to trace specific test scenarios
|
|
29
|
+
|
|
30
|
+
### When NOT to Use MongoDB
|
|
31
|
+
|
|
32
|
+
❌ High-concurrency tests (1000+ users) - may bottleneck on DB
|
|
33
|
+
❌ Simple smoke tests - generated data is faster
|
|
34
|
+
❌ No MongoDB infrastructure available
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Architecture
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
┌─────────────────┐
|
|
42
|
+
│ Locust Users │
|
|
43
|
+
│ (50-500) │
|
|
44
|
+
└────────┬────────┘
|
|
45
|
+
│
|
|
46
|
+
├──────────────┐
|
|
47
|
+
│ │
|
|
48
|
+
┌────▼────┐ ┌───▼──────┐
|
|
49
|
+
│ Cache │ │ MongoDB │
|
|
50
|
+
│ (Fast) │◄───┤ (Source) │
|
|
51
|
+
└─────────┘ └──────────┘
|
|
52
|
+
│
|
|
53
|
+
┌────▼─────────────┐
|
|
54
|
+
│ Test Execution │
|
|
55
|
+
└──────────────────┘
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Components
|
|
59
|
+
|
|
60
|
+
1. **db_config.py**: MongoDB connection pool management
|
|
61
|
+
2. **mongo_data_provider.py**: Smart caching and data retrieval
|
|
62
|
+
3. **seed_mongodb.py**: Data seeding utility
|
|
63
|
+
4. **test_data.py**: Enhanced with MongoDB fallback
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Quick Start
|
|
68
|
+
|
|
69
|
+
### 1. Install Dependencies
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
pip install -r requirements.txt
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### 2. Start MongoDB
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# Using Docker (recommended)
|
|
79
|
+
docker run -d -p 27017:27017 --name mongodb mongo:latest
|
|
80
|
+
|
|
81
|
+
# Or using local installation
|
|
82
|
+
mongod --dbpath /data/db
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 3. Configure Environment
|
|
86
|
+
|
|
87
|
+
Create a `.env` file from the example:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
cp .env.example .env
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Enable MongoDB in `.env`:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
# Enable MongoDB
|
|
97
|
+
ENABLE_MONGODB=true
|
|
98
|
+
USE_MONGODB_FOR_TEST_DATA=true
|
|
99
|
+
|
|
100
|
+
# Connection string
|
|
101
|
+
MONGODB_URI=mongodb://localhost:27017/
|
|
102
|
+
MONGODB_DATABASE=locust_test_data
|
|
103
|
+
|
|
104
|
+
# Pool size should be >= LOCUST_USERS
|
|
105
|
+
MONGODB_MAX_POOL_SIZE=100
|
|
106
|
+
LOCUST_USERS=50
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 4. Test Connection
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
python db_config.py
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Expected output:
|
|
116
|
+
```
|
|
117
|
+
============================================================
|
|
118
|
+
MongoDB Connection Test
|
|
119
|
+
============================================================
|
|
120
|
+
|
|
121
|
+
Connection URI: mongodb://localhost:27017/
|
|
122
|
+
Database: locust_test_data
|
|
123
|
+
Pool Size: 10 - 100
|
|
124
|
+
...
|
|
125
|
+
✅ Connection successful!
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 5. Seed Test Data
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
# Seed all collections with 5000 documents each
|
|
132
|
+
python seed_mongodb.py --all 5000
|
|
133
|
+
|
|
134
|
+
# Or seed specific collections
|
|
135
|
+
python seed_mongodb.py --pets 1000 --users 500 --orders 2000
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### 6. Run Load Tests
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
locust -f locustfile.py
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Configuration
|
|
147
|
+
|
|
148
|
+
### Critical Settings
|
|
149
|
+
|
|
150
|
+
#### Connection Pool Size
|
|
151
|
+
|
|
152
|
+
```bash
|
|
153
|
+
# RULE: max_pool_size >= LOCUST_USERS
|
|
154
|
+
MONGODB_MAX_POOL_SIZE=100 # For 50-100 concurrent users
|
|
155
|
+
MONGODB_MIN_POOL_SIZE=10
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**⚠️ WARNING**: If `max_pool_size < LOCUST_USERS`, you WILL experience:
|
|
159
|
+
- Connection exhaustion
|
|
160
|
+
- Test failures
|
|
161
|
+
- Timeout errors
|
|
162
|
+
- Cascading failures
|
|
163
|
+
|
|
164
|
+
**Formula**: `MONGODB_MAX_POOL_SIZE = LOCUST_USERS × 2` (for safety margin)
|
|
165
|
+
|
|
166
|
+
#### Timeout Settings
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Connection timeouts
|
|
170
|
+
MONGODB_CONNECT_TIMEOUT_MS=5000 # Initial connection
|
|
171
|
+
MONGODB_SOCKET_TIMEOUT_MS=10000 # Read/write operations
|
|
172
|
+
MONGODB_WAIT_QUEUE_TIMEOUT_MS=10000 # Waiting for connection from pool
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
**Best Practices**:
|
|
176
|
+
- `CONNECT_TIMEOUT` < `SOCKET_TIMEOUT` < `WAIT_QUEUE_TIMEOUT`
|
|
177
|
+
- Increase timeouts for slow networks
|
|
178
|
+
- Decrease for fast local testing
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Seeding Data
|
|
183
|
+
|
|
184
|
+
### Basic Seeding
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Seed 10,000 documents per collection
|
|
188
|
+
python seed_mongodb.py --all 10000
|
|
189
|
+
|
|
190
|
+
# Seed specific amounts
|
|
191
|
+
python seed_mongodb.py --pets 5000 --users 1000 --orders 10000
|
|
192
|
+
|
|
193
|
+
# Custom batch size for faster insertion
|
|
194
|
+
python seed_mongodb.py --all 5000 --batch-size 500
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Verify Seeded Data
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
# Check document counts
|
|
201
|
+
python seed_mongodb.py --verify
|
|
202
|
+
|
|
203
|
+
# View sample documents
|
|
204
|
+
python seed_mongodb.py --sample
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### Clear Data
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
# Clear all collections
|
|
211
|
+
python seed_mongodb.py --clear
|
|
212
|
+
|
|
213
|
+
# Clear specific collection
|
|
214
|
+
python seed_mongodb.py --clear-pets
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Using MongoDB Data in Tests
|
|
220
|
+
|
|
221
|
+
### Automatic Integration
|
|
222
|
+
|
|
223
|
+
The `TestDataGenerator` automatically uses MongoDB when available:
|
|
224
|
+
|
|
225
|
+
```python
|
|
226
|
+
# In your workflow tasks
|
|
227
|
+
data_generator = TestDataGenerator()
|
|
228
|
+
|
|
229
|
+
# This will try MongoDB first, then fallback to generation
|
|
230
|
+
pet_data = data_generator.get_from_mongodb_or_generate(
|
|
231
|
+
"pets",
|
|
232
|
+
lambda: data_generator.generate_product_data()
|
|
233
|
+
)
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Manual MongoDB Queries
|
|
237
|
+
|
|
238
|
+
```python
|
|
239
|
+
from mongo_data_provider import mongo_data_provider
|
|
240
|
+
|
|
241
|
+
# Get random document
|
|
242
|
+
pet = mongo_data_provider.get_random_document("pets")
|
|
243
|
+
|
|
244
|
+
# Get with query filter
|
|
245
|
+
available_pet = mongo_data_provider.get_random_document(
|
|
246
|
+
"pets",
|
|
247
|
+
query={"status": "available"}
|
|
248
|
+
)
|
|
249
|
+
|
|
250
|
+
# Get multiple documents
|
|
251
|
+
pets = mongo_data_provider.get_multiple_documents("pets", count=10)
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
---
|
|
255
|
+
|
|
256
|
+
## Performance Tuning
|
|
257
|
+
|
|
258
|
+
### 1. Connection Pool Optimization
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# For 50 users
|
|
262
|
+
MONGODB_MAX_POOL_SIZE=100
|
|
263
|
+
|
|
264
|
+
# For 200 users
|
|
265
|
+
MONGODB_MAX_POOL_SIZE=400
|
|
266
|
+
|
|
267
|
+
# For 500 users
|
|
268
|
+
MONGODB_MAX_POOL_SIZE=1000
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### 2. Preload Cache Before Tests
|
|
272
|
+
|
|
273
|
+
```python
|
|
274
|
+
from locust import events
|
|
275
|
+
from mongo_data_provider import mongo_data_provider
|
|
276
|
+
|
|
277
|
+
@events.test_start.add_listener
|
|
278
|
+
def on_test_start(environment, **kwargs):
|
|
279
|
+
logger.info("Preloading MongoDB cache...")
|
|
280
|
+
mongo_data_provider.preload_cache("pets")
|
|
281
|
+
mongo_data_provider.preload_cache("users")
|
|
282
|
+
mongo_data_provider.preload_cache("orders")
|
|
283
|
+
logger.info("✅ Cache preloaded")
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## Troubleshooting
|
|
289
|
+
|
|
290
|
+
### Connection Errors
|
|
291
|
+
|
|
292
|
+
**Error**: `ServerSelectionTimeoutError`
|
|
293
|
+
|
|
294
|
+
**Solution**:
|
|
295
|
+
```bash
|
|
296
|
+
# Check if MongoDB is running
|
|
297
|
+
docker ps | grep mongo
|
|
298
|
+
|
|
299
|
+
# Start MongoDB
|
|
300
|
+
docker start mongodb
|
|
301
|
+
|
|
302
|
+
# Verify connection
|
|
303
|
+
python db_config.py
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
### Connection Pool Exhaustion
|
|
307
|
+
|
|
308
|
+
**Error**: `WaitQueueTimeoutError`
|
|
309
|
+
|
|
310
|
+
**Solution**:
|
|
311
|
+
```bash
|
|
312
|
+
# In .env, increase pool size
|
|
313
|
+
MONGODB_MAX_POOL_SIZE=200 # Double your LOCUST_USERS
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Slow Performance
|
|
317
|
+
|
|
318
|
+
**Solutions**:
|
|
319
|
+
|
|
320
|
+
1. Check cache hit rate (should be >90%)
|
|
321
|
+
2. Create indexes on frequently queried fields
|
|
322
|
+
3. Increase cache size
|
|
323
|
+
4. Preload cache before tests
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## Best Practices
|
|
328
|
+
|
|
329
|
+
### ✅ DO
|
|
330
|
+
|
|
331
|
+
- Set `MONGODB_MAX_POOL_SIZE` >= `LOCUST_USERS`
|
|
332
|
+
- Preload cache before tests
|
|
333
|
+
- Monitor cache hit rates
|
|
334
|
+
- Create indexes on frequently queried fields
|
|
335
|
+
- Use connection pooling (singleton pattern)
|
|
336
|
+
|
|
337
|
+
### ❌ DON'T
|
|
338
|
+
|
|
339
|
+
- Set pool size smaller than user count
|
|
340
|
+
- Create new connections per request
|
|
341
|
+
- Query MongoDB directly in tight loops
|
|
342
|
+
- Ignore timeout errors
|
|
343
|
+
- Skip data seeding
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## Support
|
|
348
|
+
|
|
349
|
+
For issues or questions:
|
|
350
|
+
1. Check logs: `python db_config.py`
|
|
351
|
+
2. Verify configuration: review warnings from `validate_config()`
|
|
352
|
+
3. Monitor stats: `mongo_data_provider.get_stats()`
|
|
@@ -29,6 +29,8 @@ Professional-grade performance testing suite for **{{ api_info.title }} {{ api_i
|
|
|
29
29
|
- **Network access** to the target API
|
|
30
30
|
- **Minimum 2GB RAM** for load testing
|
|
31
31
|
|
|
32
|
+
{{ db_using }}
|
|
33
|
+
|
|
32
34
|
### Installation
|
|
33
35
|
```bash
|
|
34
36
|
# 1. Clone or download the test suite
|
|
@@ -43,4 +45,4 @@ cp .env.example .env
|
|
|
43
45
|
# Edit .env with your API configuration
|
|
44
46
|
|
|
45
47
|
# 4. Run your first test
|
|
46
|
-
locust -f
|
|
48
|
+
locust -f locustfile.py
|
|
@@ -25,7 +25,10 @@ seaborn>=0.12.0
|
|
|
25
25
|
structlog>=23.0.0
|
|
26
26
|
colorama>=0.4.6
|
|
27
27
|
Faker==37.6.0
|
|
28
|
+
jsonschema==4.25.1
|
|
28
29
|
|
|
29
30
|
# Optional: Database connectivity
|
|
30
|
-
#
|
|
31
|
-
#
|
|
31
|
+
#psycopg2-binary>=2.9.0 # PostgreSQL
|
|
32
|
+
#psycopg2==2.9.11
|
|
33
|
+
pymongo>=4.3.0 # MongoDB
|
|
34
|
+
motor>=3.3.0 # Async MongoDB driver (optional for advanced use)
|
|
@@ -10,7 +10,11 @@ import uuid
|
|
|
10
10
|
from datetime import datetime, timedelta
|
|
11
11
|
from typing import Any, Dict, List, Optional, Union
|
|
12
12
|
from faker import Faker
|
|
13
|
-
|
|
13
|
+
{% if data_provider_content %}
|
|
14
|
+
from data_provider import mongo_data_provider
|
|
15
|
+
{% endif %}
|
|
16
|
+
|
|
17
|
+
|
|
14
18
|
|
|
15
19
|
fake = Faker()
|
|
16
20
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: devdox_ai_locust
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: AI-powered Locust load test generator from API documentation
|
|
5
5
|
Author-email: Hayat Bourji <hayat.bourgi@montyholding.com>
|
|
6
6
|
Maintainer-email: Hayat Bourji <hayat.bourgi@montyholding.com>
|
|
@@ -73,19 +73,27 @@ Dynamic: license-file
|
|
|
73
73
|
DevDox AI Locust automatically generates comprehensive Locust load testing scripts from your API documentation (OpenAPI/Swagger specs). Using advanced AI capabilities, it creates realistic test scenarios, handles complex authentication flows, and generates production-ready performance tests.
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
## 🆕 What's New in 0.1.
|
|
76
|
+
## 🆕 What's New in 0.1.4
|
|
77
77
|
|
|
78
|
-
###
|
|
78
|
+
### MongoDB Integration
|
|
79
79
|
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
80
|
+
- Added a new data provider class: MongoDataProvider
|
|
81
|
+
- Connects Locust test data generation directly to MongoDB
|
|
82
|
+
- Enables realistic test data retrieval for entities like users, products, orders, affiliates, etc.
|
|
83
|
+
- Supports **real data** from the database and **synthetic fallback generation** when MongoDB is disabled or unavailable
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
#### 2. **New MongoDataProvider Methods**
|
|
86
|
+
| Method | Description |
|
|
87
|
+
|----------------------------------------------------------|--------------|
|
|
88
|
+
| `get_document(collection_name)` | Retrieves a single realistic document from MongoDB or fallback generator |
|
|
89
|
+
| `get_multiple_documents(collection_name, count=10, query=None)` | Retrieves multiple documents or generates them in batches |
|
|
90
|
+
| `clear_cache()` | Clears in-memory cached data for all collections |
|
|
91
|
+
| `get_stats()` | Returns usage and cache statistics for debugging and optimization |
|
|
92
|
+
|
|
93
|
+
#### 3. **Smart Fallbacks**
|
|
94
|
+
If MongoDB is disabled (`enable_mongodb = false` in `db_config.py`),
|
|
95
|
+
the system automatically switches to **synthetic data generation** using the LLM-based `TestDataGenerator`.
|
|
86
96
|
|
|
87
|
-
- Fixed edge cases in code block extraction where malformed responses could cause generation failures
|
|
88
|
-
- Improved retry logic to handle transient API errors without interrupting the generation process
|
|
89
97
|
|
|
90
98
|
## ✨ Features
|
|
91
99
|
|
|
@@ -139,14 +147,21 @@ devdox_ai_locust generate --openapi-url https://api.example.com/openapi.json --o
|
|
|
139
147
|
|
|
140
148
|
# Generate with custom configuration
|
|
141
149
|
devdox_ai_locust generate \
|
|
142
|
-
https://
|
|
150
|
+
https://petstore3.swagger.io/api/v3/openapi.json \
|
|
143
151
|
--output ./petstore-tests \
|
|
144
152
|
--together-api-key your_api_key \
|
|
145
153
|
|
|
154
|
+
# Generate with db integration
|
|
155
|
+
devdox_ai_locust generate \
|
|
156
|
+
https://petstore3.swagger.io/api/v3/openapi.json \
|
|
157
|
+
--output ./petstore-tests \
|
|
158
|
+
--db-type mongo \
|
|
146
159
|
```
|
|
147
160
|
|
|
148
161
|
|
|
149
162
|
|
|
163
|
+
|
|
164
|
+
|
|
150
165
|
## 📖 Documentation
|
|
151
166
|
|
|
152
167
|
### Command Line Interface
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
devdox_ai_locust/__init__.py,sha256=LhG8nXZxLkyvWwJxB_OCe9t4TLa4udLtzAVfHpD3CkU,276
|
|
2
|
-
devdox_ai_locust/cli.py,sha256=
|
|
3
|
-
devdox_ai_locust/config.py,sha256=
|
|
4
|
-
devdox_ai_locust/hybrid_loctus_generator.py,sha256=
|
|
5
|
-
devdox_ai_locust/locust_generator.py,sha256=
|
|
2
|
+
devdox_ai_locust/cli.py,sha256=80CPYwJhqym0HYfplZcAP1PygTEPobevLObNzsmK92A,14257
|
|
3
|
+
devdox_ai_locust/config.py,sha256=2rCcwtCS8BE3RcM2M2WQwnpeTJgyDhXP2p5OHxXNx98,447
|
|
4
|
+
devdox_ai_locust/hybrid_loctus_generator.py,sha256=alTwpdT-4FLLoT-i4vMDTGoGkfSAoOe-JwdXA1aFjwY,37187
|
|
5
|
+
devdox_ai_locust/locust_generator.py,sha256=5wOk3jE6ka8RBalcHLevBAQEliLWuaO2WDH8Ao-Q8_s,29449
|
|
6
6
|
devdox_ai_locust/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
devdox_ai_locust/prompt/domain.j2,sha256=ThK1mZK8bmDF6v1YsOB9wjvijljPRoseLy6lWEUG-vM,1570
|
|
8
8
|
devdox_ai_locust/prompt/locust.j2,sha256=1OM-g5X1Y8fqerfSHjSBPWGRVgeLm9h22aBsA7Bt5fc,852
|
|
9
|
-
devdox_ai_locust/prompt/test_data.j2,sha256=
|
|
9
|
+
devdox_ai_locust/prompt/test_data.j2,sha256=4QxjezD9EOGbYN7MNspPSKwQfrg_-46veTAREWbKNTQ,8796
|
|
10
10
|
devdox_ai_locust/prompt/validation.j2,sha256=4r-T8oVpkIjv3ADabD9d5klKqYfHICy85xpL0TVZKr4,487
|
|
11
|
-
devdox_ai_locust/prompt/workflow.j2,sha256=
|
|
11
|
+
devdox_ai_locust/prompt/workflow.j2,sha256=6g6DjgAIk3wrvpt_nOl-rYIDSM8zGHtmvEZN3ZYYjew,14864
|
|
12
12
|
devdox_ai_locust/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
13
|
devdox_ai_locust/schemas/processing_result.py,sha256=jja6oJh19FLrcnV7zHAQYXQ7g0_g_xt4JEQz3i9Sa9A,789
|
|
14
14
|
devdox_ai_locust/templates/base_workflow.py.j2,sha256=KQNamuRuTFAPsmY3MhH2WkYNiNP_Vu2iBUze8ZyENJk,6346
|
|
@@ -18,17 +18,20 @@ devdox_ai_locust/templates/endpoint_template.py.j2,sha256=edZ7_VETOCjCluUE0Gx4un
|
|
|
18
18
|
devdox_ai_locust/templates/env.example.j2,sha256=MYCZu8Y2OZILB7XUnNapwebhvHC6ASD4YN7VKFOzaOY,84
|
|
19
19
|
devdox_ai_locust/templates/fallback_locust.py.j2,sha256=gUEBMsKWmwq05aoxAxhWDLgujVQzP05lgfMW92ORWAM,691
|
|
20
20
|
devdox_ai_locust/templates/locust.py.j2,sha256=jIc4tbJkHzBIxOfpeqrUXr_vEZWYGV5AbgtKQyIe7dQ,1843
|
|
21
|
-
devdox_ai_locust/templates/readme.md.j2,sha256=
|
|
22
|
-
devdox_ai_locust/templates/requirement.txt.j2,sha256=
|
|
23
|
-
devdox_ai_locust/templates/test_data.py.j2,sha256=
|
|
21
|
+
devdox_ai_locust/templates/readme.md.j2,sha256=eG085_ivXcK1Ik1xX09tgkVed2F31WaxNXiJXbrrJ7U,1301
|
|
22
|
+
devdox_ai_locust/templates/requirement.txt.j2,sha256=FQqK0BN-0IqUBCYR73wZ-LoggPeeOrmhtC2s4j7oA8s,629
|
|
23
|
+
devdox_ai_locust/templates/test_data.py.j2,sha256=HED9eQ9YK_RpvII52Rh1LKidxkl5Q_vdInLkkqLFZ8k,10167
|
|
24
24
|
devdox_ai_locust/templates/utils.py.j2,sha256=2lcPIHypGNlfNRMv4nyC67WnvOFl07nxgJuz40NhFIg,13920
|
|
25
|
+
devdox_ai_locust/templates/mongo/data_provider.py.j2,sha256=y8iqhwKmzrNgpslt-Fzr_Yco-tGUTiRc0DJqYQjjMpk,10822
|
|
26
|
+
devdox_ai_locust/templates/mongo/db_config.py.j2,sha256=aMy82lSFf5V-caKb8Y7FbKvuMiJXjtNOgOl6R4aQKvY,10186
|
|
27
|
+
devdox_ai_locust/templates/mongo/db_integration.j2,sha256=rK6VjSpof0A2IUQmCm4qsWr55DsY5q5CK6cLJ52jHQU,7475
|
|
25
28
|
devdox_ai_locust/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
26
29
|
devdox_ai_locust/utils/file_creation.py,sha256=sN6rW07VBKfzwUEAG298tCRvmnzx0886w_phdEnsQZg,3957
|
|
27
30
|
devdox_ai_locust/utils/open_ai_parser.py,sha256=EJsPpPSM9RiTZ0iySYIJ66knREegS324Q7mSk_4CxGM,13158
|
|
28
31
|
devdox_ai_locust/utils/swagger_utils.py,sha256=L2CV_5J4krCYyIcl-KYW_SAkBxzIKOsn2kcHhZ2CI7k,3191
|
|
29
|
-
devdox_ai_locust-0.1.
|
|
30
|
-
devdox_ai_locust-0.1.
|
|
31
|
-
devdox_ai_locust-0.1.
|
|
32
|
-
devdox_ai_locust-0.1.
|
|
33
|
-
devdox_ai_locust-0.1.
|
|
34
|
-
devdox_ai_locust-0.1.
|
|
32
|
+
devdox_ai_locust-0.1.4.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
33
|
+
devdox_ai_locust-0.1.4.dist-info/METADATA,sha256=pKhgIHlGGDt6kGLoG8aPq6sr-zqwtaZhUKGXkt5plyQ,14799
|
|
34
|
+
devdox_ai_locust-0.1.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
35
|
+
devdox_ai_locust-0.1.4.dist-info/entry_points.txt,sha256=Eoq-gJd4WxkwwQ8pUMsqeSrfZG3yW-NmJ82iVxOc9JA,95
|
|
36
|
+
devdox_ai_locust-0.1.4.dist-info/top_level.txt,sha256=ZIpK9RS5xc9RXgG8mw9xPs0kwln8Kggi_7VURxtERQE,17
|
|
37
|
+
devdox_ai_locust-0.1.4.dist-info/RECORD,,
|
|
File without changes
|
{devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/entry_points.txt
RENAMED
|
File without changes
|
{devdox_ai_locust-0.1.3.post1.dist-info → devdox_ai_locust-0.1.4.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
|
File without changes
|