我不知道这是否可以完成,但我正在尝试模拟我的 db.session.save。
我正在使用烧瓶和烧瓶炼金术。
数据库文件
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
Run Code Online (Sandbox Code Playgroud)
单元测试
def test_post(self):
with app.app_context():
with app.test_client() as client:
with mock.patch('models.db.session.save') as mock_save:
with mock.patch('models.db.session.commit') as mock_commit:
data = self.gen_legend_data()
response = client.post('/legends', data=json.dumps([data]), headers=access_header)
assert response.status_code == 200
mock_save.assert_called()
mock_commit.assert_called_once()
Run Code Online (Sandbox Code Playgroud)
和方法:
def post(cls):
legends = schemas.Legends(many=True).load(request.get_json())
for legend in legends:
db.session.add(legend)
db.session.commit()
return {'message': 'legends saved'}, 200
Run Code Online (Sandbox Code Playgroud)
我正在尝试模拟 db.session.add 和 db.session.commit。我试过db.session.save和legends.models.db.session.save和models.db.session.save。他们都带着保存错误回来了:
ModuleNotFoundError: No module named 'models.db.session'; 'models.db' is not a package
Run Code Online (Sandbox Code Playgroud)
我没有收到错误,也不知道如何解决。 …
我有一个Web API,它将读取XML并将其传递给适当的模型进行处理.
我怎样才能收到即将发布的XML?我应该使用哪种数据类型?
什么时候使用StreamReader,StreamContent或者XmlDocument还是其他?
问题:如何将 JSON 字符串转换为 DataFrame 并仅选择我想要的键?
我上周刚刚开始使用 Spark,我仍在学习中,所以请耐心等待。
我正在使用 Spark(2.4) 结构化流。Spark 应用程序从 Twitter 流中获取数据(通过套接字),发送的数据是完整的 Twitter JSON 字符串。下面是其中一个数据帧。每一行都是完整的 JSON 推文。
+--------------------+
| value|
+--------------------+
|{"created_at":"Tu...|
|{"created_at":"Tu...|
|{"created_at":"Tu...|
+--------------------+
Run Code Online (Sandbox Code Playgroud)
正如 Venkata 所建议的,我这样做了,翻译成 python(完整代码如下)
schema = StructType().add('created_at', StringType(), False).add('id_str', StringType(), False)
df = lines.selectExpr('CAST(value AS STRING)').select(from_json('value', schema).alias('temp')).select('temp.*')
Run Code Online (Sandbox Code Playgroud)
这是返回值
+------------------------------+-------------------+
|created_at |id_str |
+------------------------------+-------------------+
|Wed Feb 20 04:51:18 +0000 2019|1098082646511443968|
|Wed Feb 20 04:51:18 +0000 2019|1098082646285082630|
|Wed Feb 20 04:51:18 +0000 2019|1098082646444441600|
|Wed Feb 20 04:51:18 +0000 2019|1098082646557642752|
|Wed Feb 20 04:51:18 +0000 2019|1098082646494797824|
|Wed …Run Code Online (Sandbox Code Playgroud) 我在尝试在我的应用程序中捕获格式错误的 JWT 错误时遇到问题。
我正在使用 flask_jwt_extended 并且当我发送手动创建的 JWT 时。我收到此错误消息:
Error on request:
Traceback (most recent call last):
File "/Users/desmondlim/.virtualenvs/rest-api/lib/python3.7/site-packages/jwt/api_jws.py", line 180, in _load
signing_input, crypto_segment = jwt.rsplit(b'.', 1)
ValueError: not enough values to unpack (expected 2, got 1)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/desmondlim/.virtualenvs/rest-api/lib/python3.7/site-packages/flask_restful/__init__.py", line 266, in error_router
return self.handle_error(e)
File "/Users/desmondlim/.virtualenvs/rest-api/lib/python3.7/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/Users/desmondlim/.virtualenvs/rest-api/lib/python3.7/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/Users/desmondlim/.virtualenvs/rest-api/lib/python3.7/site-packages/flask_restful/__init__.py", line 458, …Run Code Online (Sandbox Code Playgroud) python-3.x ×2
apache-spark ×1
c# ×1
jwt ×1
mocking ×1
pyspark ×1
pytest ×1
python ×1
sqlalchemy ×1