Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GLCC] Add more components and api features in integrate test #415

Closed
3 tasks
zhenjunMa opened this issue Mar 14, 2022 · 1 comment · Fixed by #795
Closed
3 tasks

[GLCC] Add more components and api features in integrate test #415

zhenjunMa opened this issue Mar 14, 2022 · 1 comment · Fixed by #795
Labels
GLCC help wanted Extra attention is needed kind/enhancement New feature or request

Comments

@zhenjunMa
Copy link
Contributor

zhenjunMa commented Mar 14, 2022

This issue will participate in the chinese GLCC activity . So I wrote it in chinese:

1、题目描述

为 Layotto 的集成测试增加更多的组件以及覆盖更多的 API 特性。

2、编码任务

  • 在启动配置文件中增加etcdzookeeper等组件的配置
  • 修改other_component_integrate_test.go文件来支持更多组件的代码
  • redis_integrate_test.go以及新增的组件中增加更多的测试场景

可以参考的代码如下:

功能相关:

  1. 镜像构建模板:docker/app/integrate/Dockerfile
  2. 集成测试依赖的配置文件:configs/integrate_config.json
  3. 测试启动脚本:sdk/go-sdk/test/runtime/integrate_test.sh
  4. 测试代码:sdk/go-sdk/test/runtime/redis_integrate_test.go

入口相关:

  1. github Action入口:.github/workflows/layotto-ci.yml中的runtime-integrate 模块
  2. 编译相关:Makefile中的integrate.runtime模块

3、技能要求和编程语言

  • 需要使用 Go 语言进行开发,以及熟悉常用基础设施组件的用法,如 etcd、zookeeper 等
  • 了解 docker 的基础知识,因为集成测试是跑在容器中。

4、预期完成结果

  1. 为 Layotto 的集成测试引入更多的组件,如 etcd、zookeeper。
  2. 为各个 API 的特性进行更大范围的覆盖。

5、题目详情

Layotto 目前已经接入了数百应用,未来也会有更多的用户,因此后续各种代码的开发除了基本的单元测试以外,还需要引入集成测试来保证项目的整体稳定性。

image

目前 Layotto 中已经实现了一个初版的集成测试模块,它使用 Redis 作为的实现组件,针对 State API, Lock API, Sequencer API的基本功能进行了验证。但这只是一个开始,我们还需要增加更多的实现组件,如etcd, zookeeper, 同时也需要针对各个 API 的高级特性, 边界条件进行校验。

导师


[email protected]

价值

大幅提升 Layotot 的稳定性,减少后续开发对已有功能产生影响的隐患。

@zhenjunMa zhenjunMa added kind/enhancement New feature or request help wanted Extra attention is needed labels Mar 14, 2022
@seeflood seeflood added the GLCC label May 18, 2022
@zhenjunMa zhenjunMa changed the title Add more components and api features in integrate test [GLCC] Add more components and api features in integrate test May 18, 2022
@seeflood
Copy link
Member

seeflood commented Jul 2, 2022

action:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
GLCC help wanted Extra attention is needed kind/enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants