Skip to content

WIP: mock maintnotif tests#3639

Merged
ndyakov merged 19 commits intondyakov/feature/CAE-1313-maint-clusterfrom
ndyakov/CAE-1910-proxy-tests
Dec 10, 2025
Merged

WIP: mock maintnotif tests#3639
ndyakov merged 19 commits intondyakov/feature/CAE-1313-maint-clusterfrom
ndyakov/CAE-1910-proxy-tests

Conversation

@ndyakov
Copy link
Copy Markdown
Member

@ndyakov ndyakov commented Dec 4, 2025

No description provided.

Copy link
Copy Markdown

@jit-ci jit-ci Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❌ Jit has detected 3 important findings in this PR that you should review.
The findings are detailed below as separate comments.
It’s highly recommended that you fix these security issues before merge.

Repository Risks:

  • Database Integration: Connects to a database, often involving sensitive data that must be securely managed.
  • Internally Accessible: Accessible only within the internal network, reducing exposure to external threats but still requiring proper controls.

Repository Context:

graph LR
    GitHub$Repository_U23_redis/go_U2D_redis["GitHub Repository<br/>redis/go-redis"]:::GitHub$Repository
    Team_U23_client_U2D_developers["Team<br/>client-developers"]:::Team
    Team_U23_client_U2D_docs["Team<br/>client-docs"]:::Team
    DBIntegration_U23_redis["DBIntegration<br/>redis"]:::DBIntegration
    Team_U23_client_U2D_developers -- "Owns" --> GitHub$Repository_U23_redis/go_U2D_redis
    Team_U23_client_U2D_docs -- "Owns" --> GitHub$Repository_U23_redis/go_U2D_redis
    GitHub$Repository_U23_redis/go_U2D_redis -- "Is accessible to" --> DBIntegration_U23_redis
Loading

Comment thread maintnotifications/e2e/cmd/proxy-fi-server/Dockerfile Outdated
Comment thread maintnotifications/e2e/cmd/proxy-fi-server/Dockerfile
Comment thread maintnotifications/e2e/cmd/proxy-fi-server/Dockerfile
@ndyakov ndyakov changed the title wip: mock maintnotif tests WIP: mock maintnotif tests Dec 5, 2025
os.Unsetenv("FAULT_INJECTION_API_URL")

// Restore environment after test
defer func() {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe use t.Cleanup instead of defer?
This ensures the restoration logic runs even if the test panics.
Something like this:

t.Cleanup(func() {
    if origConfigPath != "" {
			os.Setenv("REDIS_ENDPOINTS_CONFIG_PATH", origConfigPath)
		}
		if origFIURL != "" {
			os.Setenv("FAULT_INJECTION_API_URL", origFIURL)
		}
    })

@ndyakov ndyakov marked this pull request as ready for review December 10, 2025 10:55
@ndyakov ndyakov merged commit 3b14b6c into ndyakov/feature/CAE-1313-maint-cluster Dec 10, 2025
32 of 33 checks passed
@ndyakov ndyakov deleted the ndyakov/CAE-1910-proxy-tests branch December 10, 2025 10:55
ndyakov added a commit that referenced this pull request Feb 13, 2026
* [maintnotif] Cluster specific handlers (#3613)

* maint notification handlers for cluster messages

* unrelax all conns

* trigger ci on feature branches

* feat(maintnotif): lazy cluster topology reload (#3614)

* lazy cluster topology reload

* fix discrepancies between options structs

* Update osscluster_lazy_reload_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update osscluster.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* feat(e2e): mock maintnotif e2e tests (#3639)

* lazy cluster topology reload

* fix discrepancies between options structs

* Update osscluster_lazy_reload_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update osscluster.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* wip fault with mock proxy

* make lint happy

* fix linter issues

* faster tests with mocks

* linter once again

* add complex node test

* add ci e2e

* use correct redis container

* e2e fix

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(retry): Add retry mechanism for NOREPLICAS error (#3647)

* fix(queuedNewConn): protect against nil context (#3649)

* fix(maintnotif): fix smigrated parser and add cluster state reload interval option (#3663)

* fix SMIGRATED parsing

* fix smigrated parser

* add ClusterStateReloadInterval to ClusterOptions

* fix tests

* set default cluster reload interval to 10s

* chore(lint): format

* feat(smigrated): new format & remember original host:port (#3697)

* lazy cluster topology reload

* fix discrepancies between options structs

* Update osscluster_lazy_reload_test.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update osscluster.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* wip fault with mock proxy

* make lint happy

* fix linter issues

* faster tests with mocks

* linter once again

* add complex node test

* add ci e2e

* use correct redis container

* e2e fix

* additional e2e tests

* fix data race

* fix random shard picker

* fix e2e tests

* fix for empty endpoint

* fix case when semaphore is full, but still need to check idle

* scenario tests

* create database from config

* wip

* feat(client): store original addrs for later use

* fix(notif): change smigrated notification

* fix(lint): fix linter

* fix(smigrated): use array

* fix(e2e): wip

* Update options.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update redis.go

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* fix(notif): if the conn has no original addr, trigger reload with first target

* chore(e2e): wip cluster e2e

* chore(e2e): fix nil pointer from e2e tests

* chore(e2e): fix tests and reports

* chore(e2e): proper logging in e2e

* chore(e2e): add pubsub in the tests as well

* chore(e2e): mockproxy fixes

* chore(e2e): mockproxy fixes

* chore(e2e): mockproxy fixes

* chore(e2e): mockproxy fixes v3

* stop background routines

* fix(e2e): tests

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* chore(docs): add example app (#3651)

* chore(lint): fmt

* chore(docs): improve docs

* chore(docs): update features.md

* chore(github): remove example

* chore(maintnotif): rename option and address pr comments

* fix(e2e): command runner should use client timeout

* chore(e2e): refactor tests

* fix(e2e): set default timeout to 90m

* fix(e2e): skip tests if proxy cannot be started

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: ofekshenawa <104765379+ofekshenawa@users.noreply.github.com>
Co-authored-by: Elena Kolevska <elena-kolevska@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants