# doip-compatibility-tool **Repository Path**: sun-yi-wen/doip-compatibility-tool ## Basic Information - **Project Name**: doip-compatibility-tool - **Description**: 本项目为doip协议相关的工具包。 提供 1)doip v2.1和doip v2.0协议的转换功能 2) 支持doip v2.0的编解码器。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2022-08-31 - **Last Updated**: 2022-10-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DOIP v2.0 协议测试套件 DOIP v2.0是一种协议标准,不同项目只要使用该标准则可进行数据互通,本测试套件用于测试BDWare和DONA组织各自完成的项目在DOIP v2.0协议上的兼容性。 ## 测试内容 测试DOIP v2.0规定的七个基本操作(hello、create、retrieve、update、delete、search、listOperations)的连通性, 根据各个操作的返回结果判断是否符合DOIP v2.0的语法结构。 ## 测试流程 采用同一个测试套件,分别去访问根据BDWare和DONA提供的sdk编写的server。 在测试时,只需分别启动两个server,测试套件一次只能与某一个server进行连通, 在配置文件中将端口号更改为某个server对应的端口号即可让该测试套件与这个server进行连通。 ### 环境准备 1. 在build.gradle里面导入DONA和BDWare提供的DOIP SDK ```bash dependencies { implementation 'net.dona.doip:doip-sdk:2.1.0' api 'org.bdware.doip:doip-sdk:1.3.3' } ``` 2. 配置server和测试套件的启动参数 根据DONA提供的sdk编写server启动参数 ```json { "host": "127.0.0.1", "port": 8888, "serviceId": "local/compatibilityTest" } ``` 测试套件的启动参数 ```json { "serviceId": "local/compatibilityTest", "host": "127.0.0.1", "port": 8889, "username": "admin", "password": "123456" } ``` ### 执行测试 对同一个数字对象执行相应操作,操作顺序为hello、create、retrieve、update、listOperations、search、search,看结果是否符合预期。 ```java public static junit.framework.Test suite() { TestSuite suite = new TestSuite(); suite.addTest(new ClientTest("hello")); suite.addTest(new ClientTest("create")); suite.addTest(new ClientTest("retrieve")); suite.addTest(new ClientTest("update")); suite.addTest(new ClientTest("listOperations")); suite.addTest(new ClientTest("search")); suite.addTest(new ClientTest("search")); return suite; } ``` 在启动两个不同的server后,设置测试套件配置文件中的端口号即可测试与之对应repo的连通性。 ## 测试结果说明 规定了3种返回状态,即正常、警告和错误。 * 返回正常表示各基本操作正常执行,此时会直接给出返回结果; * 返回出现警告表示出现了指定范围内的错误,此时会给出对应特定的状态码; * 返回错误表示出现了未知的问题,此时会给出统一的错误状态码。 下图为测试套件与DONA的repo互连的测试结果 ![与DONA的repo互连的测试结果](./resources/DONATestResult.png) 下图为测试套件与BDWare的repo互连的测试结果 ![与BDWare的repo互连的测试结果](./resources/BDWareTestResult.png)