Skip to content

Commit d507590

Browse files
e-frenisbrannen
authored andcommitted
Add missing unit tests for SimpleAliasRegistry
Closes gh-31348
1 parent e8b42c5 commit d507590

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed

spring-core/src/test/java/org/springframework/core/SimpleAliasRegistryTests.java

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@
1818

1919
import org.junit.jupiter.api.Test;
2020

21+
import org.springframework.util.StringValueResolver;
22+
2123
import static org.assertj.core.api.Assertions.assertThat;
24+
import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException;
25+
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
26+
import static org.mockito.BDDMockito.given;
27+
import static org.mockito.BDDMockito.mock;
2228

2329
/**
2430
* Unit tests for {@link SimpleAliasRegistry}.
@@ -43,6 +49,7 @@ void aliasChaining() {
4349
assertThat(registry.canonicalName("testAlias")).isEqualTo("test");
4450
assertThat(registry.canonicalName("testAlias2")).isEqualTo("test");
4551
assertThat(registry.canonicalName("testAlias3")).isEqualTo("test");
52+
4653
}
4754

4855
@Test // SPR-17191
@@ -95,4 +102,52 @@ void getAliases() {
95102
assertThat(registry.getAliases("testAlias3")).isEmpty();
96103
}
97104

105+
@Test
106+
void testCheckForAliasCircle() {
107+
String name = "testName";
108+
String alias = "testAlias";
109+
registry.checkForAliasCircle(name, alias);
110+
registry.registerAlias(name, alias);
111+
assertThatIllegalStateException()
112+
.isThrownBy(() -> registry.checkForAliasCircle(alias, name));
113+
}
114+
115+
@Test
116+
void testResolveAliases() {
117+
assertThatIllegalArgumentException()
118+
.isThrownBy(() -> registry.resolveAliases(null));
119+
120+
StringValueResolver mock = mock();
121+
122+
registry.registerAlias("testName1", "testAlias1");
123+
registry.registerAlias("testName2", "testAlias2");
124+
given(mock.resolveStringValue("testAlias2")).willReturn("anotherAlias2");
125+
given(mock.resolveStringValue("testName2")).willReturn("anotherName2");
126+
registry.resolveAliases(mock);
127+
assertThat(registry.getAliases("anotherName2")).containsExactly("anotherAlias2");
128+
129+
registry.registerAlias("testName3", "testAlias3");
130+
registry.registerAlias("testName4", "testAlias4");
131+
registry.registerAlias("testName5", "testAlias5");
132+
given(mock.resolveStringValue("testName5")).willReturn("testName5");
133+
given(mock.resolveStringValue("testAlias5")).willReturn("testAlias5");
134+
given(mock.resolveStringValue("testName3")).willReturn("testName4");
135+
given(mock.resolveStringValue("testAlias3")).willReturn("testAlias4");
136+
given(mock.resolveStringValue("testName4")).willReturn("testName4");
137+
given(mock.resolveStringValue("testAlias4")).willReturn("testAlias5");
138+
assertThatIllegalStateException()
139+
.isThrownBy(() -> registry.resolveAliases(mock));
140+
141+
given(mock.resolveStringValue("testName4")).willReturn("testName5");
142+
given(mock.resolveStringValue("testAlias4")).willReturn("testAlias4");
143+
assertThatIllegalStateException()
144+
.isThrownBy(() -> registry.resolveAliases(mock));
145+
146+
given(mock.resolveStringValue("testName4")).willReturn("testName4");
147+
given(mock.resolveStringValue("testAlias4")).willReturn("testAlias5");
148+
registry.resolveAliases(mock);
149+
assertThat(registry.getAliases("testName4")).containsExactly("testAlias4");
150+
assertThat(registry.getAliases("testName5")).containsExactly("testAlias5");
151+
}
152+
98153
}

0 commit comments

Comments
 (0)