你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

InterceptorManager 类

  • java.lang.Object
    • com.azure.core.test.InterceptorManager

实现

public class InterceptorManager
implements AutoCloseable

一个类,它通过读取现有测试会话记录中的数据或在内存中记录网络调用来跟踪网络调用。 保存或读取测试会话记录:“session-records/testName.json

  • 如果 为 testModePLAYBACK,则管理器会尝试查找要从中读取网络调用的现有测试会话记录。
  • 如果 为 testModeRECORD,则管理器会创建新的测试会话记录,并保存对它的所有网络调用。
  • 如果 为 testModeLIVE,则管理器不会尝试读取或创建测试会话记录。

InterceptorManager释放 时,如果 testModeRECORD,则记录的网络调用将保存到:“session-records/testName.json

构造函数摘要

构造函数 说明
InterceptorManager(TestContextManager testContextManager)

创建一个新的侦听器管理器,用于重播或保存测试会话记录。

InterceptorManager(String testName, TestMode testMode)

已放弃

创建一个新的侦听器管理器,用于重播或保存测试会话记录。

InterceptorManager(String testName, Map<String,String> textReplacementRules)

已放弃

创建重播测试会话记录的新侦听器管理器。

InterceptorManager(String testName, Map<String,String> textReplacementRules, boolean doNotRecord)

已放弃

创建重播测试会话记录的新侦听器管理器。

InterceptorManager(String testName, Map<String,String> textReplacementRules, boolean doNotRecord, String playbackRecordName)

创建重播测试会话记录的新侦听器管理器。

方法摘要

修饰符和类型 方法和描述
void addMatchers(TestProxyRequestMatcher[] testProxyRequestMatchers)

添加匹配程序规则以匹配播放中录制的数据。

void addMatchers(List<TestProxyRequestMatcher> testProxyMatchers)

添加匹配程序规则以匹配播放中录制的数据。

void addSanitizers(TestProxySanitizer[] testProxySanitizers)

在录制或播放期间添加用于清理的消毒器规则。

void addSanitizers(List<TestProxySanitizer> testProxySanitizers)

在录制或播放期间添加用于清理的消毒器规则。

void addTextReplacementRule(String regex, String replacement)

添加文本替换规则 (正则表达式作为键,替换文本作为值) InterceptorManager#textReplacementRules

void close()

释放此侦听器管理器使用的资源。

HttpClient getPlaybackClient()

获取一个新的 HTTP 客户端,该客户端播放由 托管 InterceptorManager的测试会话记录。

String getPlaybackRecordName()

获取播放记录的名称。

Consumer<String> getProxyVariableConsumer()

获取用于 Consumer 添加测试代理测试中使用的变量的 。

Supplier<String> getProxyVariableSupplier()

用于 Supplier 从测试代理记录中检索变量的 。

HttpPipelinePolicy getRecordPolicy()

获取一个新的 HTTP 管道策略,该策略记录网络调用及其数据由 InterceptorManager管理。

HttpPipelinePolicy getRecordPolicy(List<Function<String,String>> recordingRedactors)

获取记录网络调用的新 HTTP 管道策略。

RecordedData getRecordedData()

获取侦听器管理器正在跟踪的记录数据。

String getRecordingFileLocation()

获取资产存储库中的录制文件位置。

String getTestName()

获取正在运行的测试的名称。

boolean isLiveMode()

获取此侦听器管理器是否处于实时模式。

boolean isPlaybackMode()

获取此侦听器管理器是否处于播放模式。

boolean isRecordMode()

获取此侦听器管理器是否处于记录模式。

void setProxyRecordingOptions(TestProxyRecordingOptions testProxyRecordingOptions)

设置代理的录制选项。

方法继承自 java.lang.Object

构造函数详细信息

InterceptorManager

public InterceptorManager(TestContextManager testContextManager)

创建新的 InterceptorManager,用于重播测试会话记录或保存记录。

  • 如果 testModePLAYBACK,则管理器会尝试查找要从中读取网络调用的现有测试会话记录。
  • 如果 testModeRECORD,则管理器将创建新的测试会话记录,并保存对它的所有网络调用。
  • 如果 testModeLIVE,则管理器不会尝试读取或创建测试会话记录。

测试会话记录保存在路径中:“session-records/testName.json

Parameters:

testContextManager - 有关所运行测试的上下文信息,例如测试名称、 TestMode等。

InterceptorManager

@Deprecated
public InterceptorManager(String testName, TestMode testMode)

已放弃

创建新的 InterceptorManager,用于重播测试会话记录或保存记录。

  • 如果 testModePLAYBACK,则管理器会尝试查找要从中读取网络调用的现有测试会话记录。
  • 如果 testModeRECORD,则管理器将创建新的测试会话记录,并保存对它的所有网络调用。

测试会话记录保存在路径中:“session-records/testName.json

Parameters:

testName - 测试会话记录的名称。
testMode - TestMode此侦听器的 。

InterceptorManager

@Deprecated
public InterceptorManager(String testName, Map textReplacementRules)

已放弃

创建重播测试会话记录的新 InterceptorManager。 它采用一组 textReplacementRules,可供 用于 PlaybackClient 替换 中的 getResponse()值。 从“session-records/testName.json”读取测试会话记录

Parameters:

testName - 测试会话记录的名称。
textReplacementRules - 播放网络调用时要替换中的 getResponse() 文本的一组规则。

InterceptorManager

@Deprecated
public InterceptorManager(String testName, Map textReplacementRules, boolean doNotRecord)

已放弃

创建重播测试会话记录的新 InterceptorManager。 它采用一组 textReplacementRules,可供 用于 PlaybackClient 替换 中的 getResponse()值。 从“session-records/testName.json”读取测试会话记录

Parameters:

testName - 测试会话记录的名称。
textReplacementRules - 播放网络调用时要替换中的 getResponse() 文本的一组规则。
doNotRecord - 指示是应录制还是播放网络调用的标志。

InterceptorManager

public InterceptorManager(String testName, Map textReplacementRules, boolean doNotRecord, String playbackRecordName)

创建重播测试会话记录的新 InterceptorManager。 它采用一组 textReplacementRules,可供 用于 PlaybackClient 替换 中的 getResponse()值。 从“session-records/testName.json”读取测试会话记录

Parameters:

testName - 测试的名称。
textReplacementRules - 播放网络调用时要替换中的 getResponse() 文本的一组规则。
doNotRecord - 指示是应录制还是播放网络调用的标志。
playbackRecordName - 测试的全名,包括其迭代,用作播放记录名称。

方法详细信息

addMatchers

public void addMatchers(TestProxyRequestMatcher[] testProxyRequestMatchers)

添加匹配程序规则以匹配播放中录制的数据。 匹配程序仅适用于播放会话,因此,在 RECORD/LIVE 模式下调用时,这是一个 noop。

Parameters:

testProxyRequestMatchers - 播放录制的数据时匹配程序规则的列表。

addMatchers

public void addMatchers(List testProxyMatchers)

添加匹配程序规则以匹配播放中录制的数据。 匹配程序仅适用于播放会话,因此,在 RECORD/LIVE 模式下调用时,这是一个 noop。

Parameters:

testProxyMatchers - 播放录制的数据时匹配程序规则的列表。

addSanitizers

public void addSanitizers(TestProxySanitizer[] testProxySanitizers)

在录制或播放期间添加用于清理的消毒器规则。

Parameters:

testProxySanitizers - 替换正则表达式和规则的列表。

addSanitizers

public void addSanitizers(List testProxySanitizers)

在录制或播放期间添加用于清理的消毒器规则。

Parameters:

testProxySanitizers - 替换正则表达式和规则的列表。

addTextReplacementRule

public void addTextReplacementRule(String regex, String replacement)

添加文本替换规则 (正则表达式作为键,替换文本作为值) InterceptorManager#textReplacementRules

Parameters:

regex - 用于定位替换位置的模式
replacement - 替换文本

close

public void close()

释放此 InterceptorManager 使用的资源。 如果 testModeRECORD,则所有网络调用将保存到:“session-records/testName.json

getPlaybackClient

public HttpClient getPlaybackClient()

获取一个新的 HTTP 客户端,该客户端播放由 托管 InterceptorManager的测试会话记录。

Returns:

从记录的数据播放网络调用的 HTTP 客户端。

getPlaybackRecordName

public String getPlaybackRecordName()

获取播放记录的名称。

播放记录名称等效于 .[]

Returns:

播放记录的名称。

getProxyVariableConsumer

public Consumer getProxyVariableConsumer()

获取用于 Consumer 添加测试代理测试中使用的变量的 。

Returns:

用于添加变量的使用者。

getProxyVariableSupplier

public Supplier getProxyVariableSupplier()

用于 Supplier 从测试代理记录中检索变量的 。

Returns:

用于检索变量的供应商。

getRecordPolicy

public HttpPipelinePolicy getRecordPolicy()

获取一个新的 HTTP 管道策略,该策略记录网络调用及其数据由 InterceptorManager管理。

Returns:

用于记录网络调用的 HttpPipelinePolicy。

getRecordPolicy

public HttpPipelinePolicy getRecordPolicy(List> recordingRedactors)

获取记录网络调用的新 HTTP 管道策略。 记录的内容由给定的重修函数列表进行修订,以隐藏敏感信息。

Parameters:

recordingRedactors - 除 中 RecordingRedactor定义的默认重函数函数外,还应用的自定义重函数函数。

Returns:

HttpPipelinePolicy 记录网络呼叫。

getRecordedData

public RecordedData getRecordedData()

获取 InterceptorManager 正在跟踪的记录数据。

Returns:

InterceptorManager 管理的记录数据。

getRecordingFileLocation

public String getRecordingFileLocation()

获取资产存储库中的录制文件位置。

Returns:

记录文件的资产存储库位置。

getTestName

public String getTestName()

获取正在运行的测试的名称。

Returns:

正在运行的测试的名称。

isLiveMode

public boolean isLiveMode()

获取此 InterceptorManager 是否处于实时模式。

Returns:

如果 InterceptorManager 处于实时模式,则为 true,否则为 false。

isPlaybackMode

public boolean isPlaybackMode()

获取此 InterceptorManager 是否处于播放模式。

Returns:

如果 InterceptorManager 处于播放模式,则为 true,否则为 false。

isRecordMode

public boolean isRecordMode()

获取此 InterceptorManager 是否处于记录模式。

Returns:

如果 InterceptorManager 处于记录模式,则为 true,否则为 false。

setProxyRecordingOptions

public void setProxyRecordingOptions(TestProxyRecordingOptions testProxyRecordingOptions)

设置代理的录制选项。

Parameters:

testProxyRecordingOptions - 要使用的 TestProxyRecordingOptions

适用于