|
1 | 1 | /*
|
2 |
| - * Copyright 2014-2024 the original author or authors. |
| 2 | + * Copyright 2024 the original author or authors. |
3 | 3 | *
|
4 | 4 | * Licensed under the Apache License, Version 2.0 (the "License");
|
5 | 5 | * you may not use this file except in compliance with the License.
|
|
15 | 15 | */
|
16 | 16 | package org.springframework.data.redis.connection;
|
17 | 17 |
|
18 |
| -import org.junit.jupiter.api.Test; |
19 |
| - |
20 | 18 | import static org.assertj.core.api.Assertions.*;
|
21 | 19 |
|
| 20 | +import org.junit.jupiter.api.Test; |
| 21 | +import org.junit.jupiter.params.ParameterizedTest; |
| 22 | +import org.junit.jupiter.params.provider.ValueSource; |
| 23 | + |
22 | 24 | /**
|
23 | 25 | * Unit tests for {@link RedisNode}.
|
24 |
| - * referred to the test code in ConversionUnitTests.java |
25 | 26 | *
|
26 | 27 | * @author LeeHyungGeol
|
| 28 | + * @author Mark Paluch |
27 | 29 | */
|
28 |
| -public class RedisNodeUnitTests { |
29 |
| - private static final int DEFAULT_PORT = 6379; |
| 30 | +class RedisNodeUnitTests { |
30 | 31 |
|
31 | 32 | @Test // GH-2928
|
32 | 33 | void shouldParseIPv4AddressWithPort() {
|
33 |
| - RedisNode node = RedisNode.fromString("127.0.0.1:6379"); |
| 34 | + |
| 35 | + RedisNode node = RedisNode.fromString("127.0.0.1:1234"); |
| 36 | + |
34 | 37 | assertThat(node.getHost()).isEqualTo("127.0.0.1");
|
35 |
| - assertThat(node.getPort()).isEqualTo(6379); |
| 38 | + assertThat(node.getPort()).isEqualTo(1234); |
| 39 | + } |
| 40 | + |
| 41 | + @ParameterizedTest // GH-2928 |
| 42 | + @ValueSource(strings = { "127.0.0.1", "127.0.0.1:" }) |
| 43 | + void shouldParseIPv4AddressWithoutPort(String source) { |
| 44 | + |
| 45 | + RedisNode node = RedisNode.fromString(source); |
| 46 | + |
| 47 | + assertThat(node.getHost()).isEqualTo("127.0.0.1"); |
| 48 | + assertThat(node.getPort()).isEqualTo(RedisNode.DEFAULT_PORT); |
36 | 49 | }
|
37 | 50 |
|
38 | 51 | @Test // GH-2928
|
39 | 52 | void shouldParseIPv6AddressWithPort() {
|
40 |
| - RedisNode node = RedisNode.fromString("[aaaa:bbbb::dddd:eeee]:6379"); |
| 53 | + |
| 54 | + RedisNode node = RedisNode.fromString("[aaaa:bbbb::dddd:eeee]:1234"); |
| 55 | + |
41 | 56 | assertThat(node.getHost()).isEqualTo("aaaa:bbbb::dddd:eeee");
|
42 |
| - assertThat(node.getPort()).isEqualTo(6379); |
| 57 | + assertThat(node.getPort()).isEqualTo(1234); |
| 58 | + } |
| 59 | + |
| 60 | + @ParameterizedTest // GH-2928 |
| 61 | + @ValueSource(strings = { "[aaaa:bbbb::dddd:eeee]", "[aaaa:bbbb::dddd:eeee]:" }) |
| 62 | + void shouldParseIPv6AddressWithoutPort(String source) { |
| 63 | + |
| 64 | + RedisNode node = RedisNode.fromString(source); |
| 65 | + |
| 66 | + assertThat(node.getHost()).isEqualTo("aaaa:bbbb::dddd:eeee"); |
| 67 | + assertThat(node.getPort()).isEqualTo(RedisNode.DEFAULT_PORT); |
43 | 68 | }
|
44 | 69 |
|
45 | 70 | @Test // GH-2928
|
46 | 71 | void shouldParseBareHostnameWithPort() {
|
| 72 | + |
47 | 73 | RedisNode node = RedisNode.fromString("my.redis.server:6379");
|
| 74 | + |
48 | 75 | assertThat(node.getHost()).isEqualTo("my.redis.server");
|
49 | 76 | assertThat(node.getPort()).isEqualTo(6379);
|
50 | 77 | }
|
51 | 78 |
|
| 79 | + @ParameterizedTest // GH-2928 |
| 80 | + @ValueSource(strings = { "my.redis.server", "[my.redis.server:" }) |
| 81 | + void shouldParseBareHostnameWithoutPort(String source) { |
| 82 | + |
| 83 | + RedisNode node = RedisNode.fromString("my.redis.server"); |
| 84 | + |
| 85 | + assertThat(node.getHost()).isEqualTo("my.redis.server"); |
| 86 | + assertThat(node.getPort()).isEqualTo(RedisNode.DEFAULT_PORT); |
| 87 | + } |
| 88 | + |
52 | 89 | @Test // GH-2928
|
53 | 90 | void shouldThrowExceptionForInvalidPort() {
|
| 91 | + |
54 | 92 | assertThatIllegalArgumentException()
|
55 | 93 | .isThrownBy(() -> RedisNode.fromString("127.0.0.1:invalidPort"));
|
56 | 94 | }
|
57 | 95 |
|
58 | 96 | @Test // GH-2928
|
59 | 97 | void shouldParseBareIPv6WithoutPort() {
|
| 98 | + |
60 | 99 | RedisNode node = RedisNode.fromString("2001:0db8:85a3:0000:0000:8a2e:0370:7334");
|
| 100 | + |
61 | 101 | assertThat(node.getHost()).isEqualTo("2001:0db8:85a3:0000:0000:8a2e:0370");
|
62 | 102 | assertThat(node.getPort()).isEqualTo(7334);
|
63 | 103 | }
|
64 | 104 |
|
65 |
| - @Test // GH-2928 |
66 |
| - void shouldParseBareHostnameWithoutPort() { |
67 |
| - RedisNode node = RedisNode.fromString("my.redis.server"); |
68 |
| - assertThat(node.getHost()).isEqualTo("my.redis.server"); |
69 |
| - assertThat(node.getPort()).isEqualTo(DEFAULT_PORT); |
70 |
| - } |
71 | 105 | }
|
72 | 106 |
|
0 commit comments