Skip to content

Commit

Permalink
#23971 IPUtils Test failure from incorrect state of IPUtils.disabledI…
Browse files Browse the repository at this point in the history
…pPrivateSubnet
  • Loading branch information
dotcmsbuild committed Feb 2, 2023
1 parent eb4e08a commit df179fd
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 deletions.
7 changes: 4 additions & 3 deletions dotCMS/src/main/java/com/dotcms/util/network/IPUtils.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.dotcms.util.network;

import java.util.Objects;
import java.util.concurrent.atomic.AtomicBoolean;
import org.xbill.DNS.Address;
import com.dotcms.repackage.org.apache.commons.net.util.SubnetUtils;
import com.dotmarketing.util.Config;
Expand All @@ -10,7 +11,7 @@
import io.vavr.control.Try;

public class IPUtils {
private static boolean disabledIpPrivateSubnet = false;
private static final AtomicBoolean disabledIpPrivateSubnet = new AtomicBoolean(false);

private IPUtils() {
throw new IllegalStateException("static Utility class");
Expand Down Expand Up @@ -71,7 +72,7 @@ public static boolean isIpInCIDR(final String ip, final String CIDR) {
public static boolean isIpPrivateSubnet(final String ipOrHostName) {


if (disabledIpPrivateSubnet) {
if (disabledIpPrivateSubnet.get()) {
return false;
}

Expand Down Expand Up @@ -102,6 +103,6 @@ public static boolean isIpPrivateSubnet(final String ipOrHostName) {


public static void disabledIpPrivateSubnet(final boolean disabledIpPrivateSubnet) {
IPUtils.disabledIpPrivateSubnet = disabledIpPrivateSubnet;
IPUtils.disabledIpPrivateSubnet.set(disabledIpPrivateSubnet);
}
}
19 changes: 12 additions & 7 deletions dotCMS/src/test/java/com/dotcms/cube/CubeJSClientTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -113,16 +113,21 @@ public void http404() {
final String cubeServerIp = "127.0.0.1";
final int cubeJsServerPort = 8000;

IPUtils.disabledIpPrivateSubnet(true);
try {
IPUtils.disabledIpPrivateSubnet(true);

final CubeJSQuery cubeJSQuery = new Builder()
.dimensions("Events.experiment", "Events.variant")
.build();
final CubeJSQuery cubeJSQuery = new Builder()
.dimensions("Events.experiment", "Events.variant")
.build();

final CubeJSClient cubeClient = new CubeJSClient(String.format("http://%s:%s", cubeServerIp, cubeJsServerPort));
final CubeJSResultSet cubeJSResultSet = cubeClient.send(cubeJSQuery);
final CubeJSClient cubeClient = new CubeJSClient(
String.format("http://%s:%s", cubeServerIp, cubeJsServerPort));
final CubeJSResultSet cubeJSResultSet = cubeClient.send(cubeJSQuery);

assertEquals(0, cubeJSResultSet.size());
assertEquals(0, cubeJSResultSet.size());
} finally {
IPUtils.disabledIpPrivateSubnet(false);
}
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ public void test_false_cases() {
@Test
public void test_ip_private_subnets() {
for(String testCase : ipsOnPrivateSubnets) {
assertTrue( IPUtils.isIpPrivateSubnet(testCase));
assertTrue(String.format("Testcase %s failed",testCase), IPUtils.isIpPrivateSubnet(testCase));
}
}
@Test
Expand Down

0 comments on commit df179fd

Please sign in to comment.