测试获取 Github 信息
import json
import requests from .fetch_github_info import AUTHENTICATED_USER_ENDPOINT, fetch_github_info def test_fetch_github_info(monkeypatch):
# 定义一个模拟的 HTTP 响应类
class FakeResponse:
def __init__(self, content) -> None:
assert isinstance(content, (bytes, str))
self.content = content def json(self):
return json.loads(self.content) # 定义模拟的响应函数,用于替换 requests.get 方法
def mock_response(*args, **kwargs):
# 断言确保请求的 URL 正确
assert args[0] == AUTHENTICATED_USER_ENDPOINT
# 断言确保请求头中包含 Authorization,并且以 "token " 开头
assert "Authorization" in kwargs["headers"]
assert kwargs["headers"]["Authorization"].startswith("token ")
# 断言确保请求头中包含 Accept
assert "Accept" in kwargs["headers"]
# 返回模拟的响应对象,其中的 content 是包含用户信息的 JSON 字符串
return FakeResponse(b'{"login":"test","id":1}') # 使用 monkeypatch 替换 requests.get 方法,使其返回模拟的响应
monkeypatch.setattr(requests, "get", mock_response) # 调用被测试的函数,传入模拟的 token,获取结果
result = fetch_github_info("token") # 断言确保返回的用户信息与预期相符
assert result["login"] == "test"
assert result["id"] == 1
测试获取 Github 信息的更多相关文章
- 微信快速开发框架(八)-- V2.3--增加语音识别及网页获取用户信息,代码已更新至Github
		不知不觉,版本以每周更新一次的脚步进行着,接下来应该是重构我的代码及框架的结构,有朋友反应代码有点乱,确实如此,当时写的时候只是按照订阅号来写的,后来才慢慢增加到支持API接口.目前还在开发第三方微信 ... 
- CPU测试--通过proc获取CPU信息
		adb shell cat /proc/stat | grep cpu > totalcpu0 此处第一行的数值表示的是CPU总的使用情况,所以我们只要用第一行的数字计算就可以了.下表解析第一行 ... 
- 测试成长记录:python调adb无法获取设备信息bug记录
		背景介绍: 一直在负责公司Android自动化的编写工作,采用的是uiautomator2,需要获取设备id来连接设备,就是 adb devices 问题描述: 之前一直用 subprocess.ch ... 
- 通过GeoIP2分析访问者IP获取地理位置信息
		原文链接:http://blog.csdn.net/johnnycode/article/details/42028841 MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用 ... 
- Laravel OAuth2 (一) ---简单获取用户信息
		前言 本来要求是使用微信进行第三方登陆,所以想着先用 github 测试成功再用微信测试,可是最近拖了好久都还没申请好微信开放平台的 AppID ,所以就只写 github 的第三方登陆吧,估计微信的 ... 
- 从SpringMVC获取用户信息谈起
		Github地址:https://github.com/andyslin/spring-ext 编译.运行环境:JDK 8 + Maven 3 + IDEA + Lombok spring-boot: ... 
- 半吊子学习Swift--天气预报程序-获取天气信息
		昨天申请的彩云天气Api开发者今天上午已审核通过  饭后运动过后就马不停蹄的来测试接口,接口是采用经纬度的方式来获取天气信息,接口地址如下 https://api.caiyunapp.com/v2/ ... 
- python基础——获取对象信息
		python基础——获取对象信息 当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type( ... 
- 重新想象 Windows 8 Store Apps (49) - 输入: 获取输入设备信息, 虚拟键盘, Tab 导航, Pointer, Tap, Drag, Drop
		[源码下载] 重新想象 Windows 8 Store Apps (49) - 输入: 获取输入设备信息, 虚拟键盘, Tab 导航, Pointer, Tap, Drag, Drop 作者:weba ... 
- c#反射机制学习和利用反射获取类型信息
		反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类.结构.委托.接口和枚举等)的成员,包括方法.属性.事件,以及构造函数等.还可以获得每个成员的 ... 
随机推荐
- 多个tomcat启停脚本server.sh
			vi server.sh #!/bin/bash export JAVA_HOME=/u01/java_home/jdk1.8.0_181 export JRE_HOME=${JAVA_HOME}/j ... 
- Luogu P10997 Partition 题解 [ 蓝 ] [ 分割线 dp ]
			Partition:一道 dp 神题,用到了以轮廓线的轨迹来做 dp 的技巧,和敲砖块这题的状态设计有点相似. 观察 首先观察样例,发现整张图可以看作是被两条线分隔开的.同时每个颜色的四个方向上又存在 ... 
- QT5笔记: 20. QStringListModel的使用
			主要为 :添加.插入.修改.删除.清空等操作 例子:本例子中QListView 没有做任何处理,只是拖放至ui文件,设置了布局 MainWindow.h #ifndef MAINWINDOW_H #d ... 
- MySQL - mysql 面试题
			事务的四个特点是什么?他们的实现原理是什么? 事务的四个特点是ACID,即原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability). ... 
- DeepSeek满血版测试
			技术背景 很多厂商以次充好,用蒸馏版DeepSeek冒充满血版.本文提供一些收集的问题集,可以用于测试是否满血DeepSeek.经过实际测试,国内厂商中只有满血版DeepSeek可以全对.但是各厂商后 ... 
- 『Python底层原理』--异步机制(async/await)
			在现代编程中,并发是提高程序效率的关键技术之一,它允许程序同时执行多个任务,充分利用系统资源. 本文将深入探讨 Python 中的async/await机制,从并发编程基础讲起,逐步剖析其工作原理和实 ... 
- Easyexcel(5-自定义列宽)
			注解 @ColumnWidth @Data public class WidthAndHeightData { @ExcelProperty("字符串标题") private St ... 
- [Qt 基础-01] QPushButton
			QPushButton 简介 QPushButton是一个很常用的一个按钮控件,主要用于创建一个可按压的按键.它显示了一 个文本和一个图标.另外,你也可以在创建时,指定一个快捷键. 基本用法 1. 创 ... 
- OSPF各类LSA
			一.域内路由 路由器将接口宣告进OSPF进程后,形成的链路状态放入1类LSA中,用于描述路由器自身的直连状态. 1. 区域0为骨干区域,非0为非骨干区域. 2. 骨干区域有且只能存在一个. 3. 非骨 ... 
- 表访问方法:PostgreSQL 中数据更新的处理方式
			作者:Cary 前言 本文将详细探讨 PostgreSQL 如何处理更新操作.在 PostgreSQL 中,成功的更新可以被视为"插入一条新记录",同时"标记旧记录为不可 ... 
