Committed by
Gerrit Code Review
[ONOS-5295] JUNIT Test cases for volt-onus, volt-setonu and volt-onustats as FUJ…
…ITSU NETCONF commands Change-Id: I8f80bc651adf2bfbfa7ce8587e03b1373222f37a
Showing
7 changed files
with
583 additions
and
94 deletions
| ... | @@ -40,9 +40,14 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -40,9 +40,14 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 40 | implements VoltOnuConfig { | 40 | implements VoltOnuConfig { |
| 41 | 41 | ||
| 42 | private final Logger log = getLogger(FujitsuVoltOnuConfig.class); | 42 | private final Logger log = getLogger(FujitsuVoltOnuConfig.class); |
| 43 | - private final Set<String> onuConfigParams = ImmutableSet.of( | 43 | + private static final String ADMIN_STATE = "admin-state"; |
| 44 | - "admin-state", "pm-enable", "fec-enable", | 44 | + private static final String PASSWORD = "password"; |
| 45 | - "security-enable", "password"); | 45 | + private static final Set<String> ONUCONFIGPARAMS = |
| 46 | + ImmutableSet.of(ADMIN_STATE, "pm-enable", "fec-enable", "security-enable", PASSWORD); | ||
| 47 | + private static final Set<String> ADMINSTATES = | ||
| 48 | + ImmutableSet.of("enable", "disable"); | ||
| 49 | + private static final Set<String> ENABLES = | ||
| 50 | + ImmutableSet.of("true", "false"); | ||
| 46 | private static final String VOLT_ONUS = "volt-onus"; | 51 | private static final String VOLT_ONUS = "volt-onus"; |
| 47 | private static final String ONUS_PERLINK = "onus-perlink"; | 52 | private static final String ONUS_PERLINK = "onus-perlink"; |
| 48 | private static final String ONUS_LIST = "onus-list"; | 53 | private static final String ONUS_LIST = "onus-list"; |
| ... | @@ -55,9 +60,7 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -55,9 +60,7 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 55 | private static final String ETH_STATS = "eth-stats"; | 60 | private static final String ETH_STATS = "eth-stats"; |
| 56 | private static final String ONU_GEM_STATS = "onu-gem-stats"; | 61 | private static final String ONU_GEM_STATS = "onu-gem-stats"; |
| 57 | private static final String GEM_STATS = "gem-stats"; | 62 | private static final String GEM_STATS = "gem-stats"; |
| 58 | - private int pon; | 63 | + private static final String PASSWORD_PATTERN = "^[a-zA-Z0-9]+$"; |
| 59 | - private int onu; | ||
| 60 | - | ||
| 61 | 64 | ||
| 62 | @Override | 65 | @Override |
| 63 | public String getOnus(String target) { | 66 | public String getOnus(String target) { |
| ... | @@ -73,23 +76,14 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -73,23 +76,14 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 73 | log.warn("Not master for {} Use {} to execute command", | 76 | log.warn("Not master for {} Use {} to execute command", |
| 74 | ncDeviceId, | 77 | ncDeviceId, |
| 75 | mastershipService.getMasterFor(ncDeviceId)); | 78 | mastershipService.getMasterFor(ncDeviceId)); |
| 76 | - return reply; | 79 | + return null; |
| 77 | } | 80 | } |
| 78 | 81 | ||
| 79 | if (target != null) { | 82 | if (target != null) { |
| 80 | - onuId = target.split(HYPHEN); | 83 | + onuId = checkIdString(target); |
| 81 | - if (onuId.length > 2) { | 84 | + if (onuId == null) { |
| 82 | - log.error("Invalid number of arguments"); | 85 | + log.error("Invalid ONU identifier {}", target); |
| 83 | - return reply; | 86 | + return null; |
| 84 | - } | ||
| 85 | - try { | ||
| 86 | - pon = Integer.parseInt(onuId[0]); | ||
| 87 | - if (onuId.length > 1) { | ||
| 88 | - onu = Integer.parseInt(onuId[1]); | ||
| 89 | - } | ||
| 90 | - } catch (NumberFormatException e) { | ||
| 91 | - log.error("Non-number input"); | ||
| 92 | - return reply; | ||
| 93 | } | 87 | } |
| 94 | } | 88 | } |
| 95 | 89 | ||
| ... | @@ -101,13 +95,13 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -101,13 +95,13 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 101 | request.append(buildStartTag(VOLT_ONUS)); | 95 | request.append(buildStartTag(VOLT_ONUS)); |
| 102 | request.append(buildStartTag(ONUS_PERLINK)); | 96 | request.append(buildStartTag(ONUS_PERLINK)); |
| 103 | request.append(buildStartTag(PONLINK_ID, false)); | 97 | request.append(buildStartTag(PONLINK_ID, false)); |
| 104 | - request.append(onuId[0]); | 98 | + request.append(onuId[FIRST_PART]); |
| 105 | request.append(buildEndTag(PONLINK_ID)); | 99 | request.append(buildEndTag(PONLINK_ID)); |
| 106 | - if (onuId.length > 1) { | 100 | + if (onuId.length > ONE) { |
| 107 | request.append(buildStartTag(ONUS_LIST)); | 101 | request.append(buildStartTag(ONUS_LIST)); |
| 108 | request.append(buildStartTag(ONU_INFO)); | 102 | request.append(buildStartTag(ONU_INFO)); |
| 109 | request.append(buildStartTag(ONU_ID, false)); | 103 | request.append(buildStartTag(ONU_ID, false)); |
| 110 | - request.append(onuId[1]); | 104 | + request.append(onuId[SECOND_PART]); |
| 111 | request.append(buildEndTag(ONU_ID)); | 105 | request.append(buildEndTag(ONU_ID)); |
| 112 | request.append(buildEndTag(ONU_INFO)); | 106 | request.append(buildEndTag(ONU_INFO)); |
| 113 | request.append(buildEndTag(ONUS_LIST)); | 107 | request.append(buildEndTag(ONUS_LIST)); |
| ... | @@ -119,11 +113,13 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -119,11 +113,13 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 119 | } | 113 | } |
| 120 | request.append(VOLT_NE_CLOSE); | 114 | request.append(VOLT_NE_CLOSE); |
| 121 | 115 | ||
| 122 | - reply = controller. | 116 | + reply = controller |
| 123 | - getDevicesMap().get(ncDeviceId).getSession(). | 117 | + .getDevicesMap() |
| 124 | - get(request.toString(), REPORT_ALL); | 118 | + .get(ncDeviceId) |
| 119 | + .getSession() | ||
| 120 | + .get(request.toString(), REPORT_ALL); | ||
| 125 | } catch (IOException e) { | 121 | } catch (IOException e) { |
| 126 | - log.error("Cannot communicate to device {} exception ", ncDeviceId, e); | 122 | + log.error("Cannot communicate to device {} exception {}", ncDeviceId, e); |
| 127 | } | 123 | } |
| 128 | return reply; | 124 | return reply; |
| 129 | } | 125 | } |
| ... | @@ -141,32 +137,25 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -141,32 +137,25 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 141 | log.warn("Not master for {} Use {} to execute command", | 137 | log.warn("Not master for {} Use {} to execute command", |
| 142 | ncDeviceId, | 138 | ncDeviceId, |
| 143 | mastershipService.getMasterFor(ncDeviceId)); | 139 | mastershipService.getMasterFor(ncDeviceId)); |
| 144 | - return reply; | 140 | + return null; |
| 145 | } | 141 | } |
| 146 | 142 | ||
| 147 | String[] data = target.split(COLON); | 143 | String[] data = target.split(COLON); |
| 148 | - if (data.length != 3) { | 144 | + if (data.length != THREE) { |
| 149 | log.error("Invalid number of arguments"); | 145 | log.error("Invalid number of arguments"); |
| 150 | - return reply; | 146 | + return null; |
| 151 | - } | ||
| 152 | - | ||
| 153 | - String[] onuId = data[0].split(HYPHEN); | ||
| 154 | - if (onuId.length != 2) { | ||
| 155 | - log.error("Invalid ONU identifier"); | ||
| 156 | - return reply; | ||
| 157 | } | 147 | } |
| 158 | 148 | ||
| 159 | - try { | 149 | + String[] onuId = checkIdString(data[FIRST_PART]); |
| 160 | - pon = Integer.parseInt(onuId[0]); | 150 | + if ((onuId == null) || (onuId.length != TWO)) { |
| 161 | - onu = Integer.parseInt(onuId[1]); | 151 | + log.error("Invalid ONU identifier {}", target); |
| 162 | - } catch (NumberFormatException e) { | 152 | + return null; |
| 163 | - log.error("Non-number input"); | ||
| 164 | - return reply; | ||
| 165 | } | 153 | } |
| 166 | 154 | ||
| 167 | - if (!onuConfigParams.contains(data[1])) { | 155 | + if (!checkSetParam(data[SECOND_PART], |
| 168 | - log.error("Unsupported parameter: " + data[1]); | 156 | + data[THIRD_PART])) { |
| 169 | - return reply; | 157 | + log.error("Failed to check input {}", target); |
| 158 | + return null; | ||
| 170 | } | 159 | } |
| 171 | 160 | ||
| 172 | try { | 161 | try { |
| ... | @@ -174,23 +163,25 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -174,23 +163,25 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 174 | request.append(ANGLE_LEFT).append(ONU_SET_CONFIG).append(SPACE); | 163 | request.append(ANGLE_LEFT).append(ONU_SET_CONFIG).append(SPACE); |
| 175 | request.append(VOLT_NE_NAMESPACE).append(ANGLE_RIGHT).append(NEW_LINE); | 164 | request.append(VOLT_NE_NAMESPACE).append(ANGLE_RIGHT).append(NEW_LINE); |
| 176 | request.append(buildStartTag(PONLINK_ID, false)); | 165 | request.append(buildStartTag(PONLINK_ID, false)); |
| 177 | - request.append(onuId[0]); | 166 | + request.append(onuId[FIRST_PART]); |
| 178 | request.append(buildEndTag(PONLINK_ID)); | 167 | request.append(buildEndTag(PONLINK_ID)); |
| 179 | request.append(buildStartTag(ONU_ID, false)); | 168 | request.append(buildStartTag(ONU_ID, false)); |
| 180 | - request.append(onuId[1]); | 169 | + request.append(onuId[SECOND_PART]); |
| 181 | request.append(buildEndTag(ONU_ID)); | 170 | request.append(buildEndTag(ONU_ID)); |
| 182 | request.append(buildStartTag(CONFIG_INFO)); | 171 | request.append(buildStartTag(CONFIG_INFO)); |
| 183 | - request.append(buildStartTag(data[1], false)); | 172 | + request.append(buildStartTag(data[SECOND_PART], false)); |
| 184 | - request.append(data[2]); | 173 | + request.append(data[THIRD_PART]); |
| 185 | - request.append(buildEndTag(data[1])); | 174 | + request.append(buildEndTag(data[SECOND_PART])); |
| 186 | request.append(buildEndTag(CONFIG_INFO)); | 175 | request.append(buildEndTag(CONFIG_INFO)); |
| 187 | request.append(buildEndTag(ONU_SET_CONFIG)); | 176 | request.append(buildEndTag(ONU_SET_CONFIG)); |
| 188 | 177 | ||
| 189 | - reply = controller. | 178 | + reply = controller |
| 190 | - getDevicesMap().get(ncDeviceId).getSession(). | 179 | + .getDevicesMap() |
| 191 | - doWrappedRpc(request.toString()); | 180 | + .get(ncDeviceId) |
| 181 | + .getSession() | ||
| 182 | + .doWrappedRpc(request.toString()); | ||
| 192 | } catch (IOException e) { | 183 | } catch (IOException e) { |
| 193 | - log.error("Cannot communicate to device {} exception ", ncDeviceId, e); | 184 | + log.error("Cannot communicate to device {} exception {}", ncDeviceId, e); |
| 194 | } | 185 | } |
| 195 | return reply; | 186 | return reply; |
| 196 | } | 187 | } |
| ... | @@ -209,23 +200,14 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -209,23 +200,14 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 209 | log.warn("Not master for {} Use {} to execute command", | 200 | log.warn("Not master for {} Use {} to execute command", |
| 210 | ncDeviceId, | 201 | ncDeviceId, |
| 211 | mastershipService.getMasterFor(ncDeviceId)); | 202 | mastershipService.getMasterFor(ncDeviceId)); |
| 212 | - return reply; | 203 | + return null; |
| 213 | } | 204 | } |
| 214 | 205 | ||
| 215 | if (target != null) { | 206 | if (target != null) { |
| 216 | - onuId = target.split(HYPHEN); | 207 | + onuId = checkIdString(target); |
| 217 | - if (onuId.length > 2) { | 208 | + if (onuId == null) { |
| 218 | - log.error("Invalid number of arguments:" + onuId.length); | 209 | + log.error("Failed to check ID: {}", target); |
| 219 | - return reply; | 210 | + return null; |
| 220 | - } | ||
| 221 | - try { | ||
| 222 | - pon = Integer.parseInt(onuId[0]); | ||
| 223 | - if (onuId.length > 1) { | ||
| 224 | - onu = Integer.parseInt(onuId[1]); | ||
| 225 | - } | ||
| 226 | - } catch (NumberFormatException e) { | ||
| 227 | - log.error("Non-number input"); | ||
| 228 | - return reply; | ||
| 229 | } | 211 | } |
| 230 | } | 212 | } |
| 231 | 213 | ||
| ... | @@ -239,11 +221,11 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -239,11 +221,11 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 239 | request.append(buildStartTag(ONU_GEM_STATS)); | 221 | request.append(buildStartTag(ONU_GEM_STATS)); |
| 240 | request.append(buildStartTag(GEM_STATS)); | 222 | request.append(buildStartTag(GEM_STATS)); |
| 241 | request.append(buildStartTag(PONLINK_ID, false)); | 223 | request.append(buildStartTag(PONLINK_ID, false)); |
| 242 | - request.append(onuId[0]); | 224 | + request.append(onuId[FIRST_PART]); |
| 243 | request.append(buildEndTag(PONLINK_ID)); | 225 | request.append(buildEndTag(PONLINK_ID)); |
| 244 | - if (onuId.length > 1) { | 226 | + if (onuId.length > ONE) { |
| 245 | request.append(buildStartTag(ONU_ID, false)); | 227 | request.append(buildStartTag(ONU_ID, false)); |
| 246 | - request.append(onuId[1]); | 228 | + request.append(onuId[SECOND_PART]); |
| 247 | request.append(buildEndTag(ONU_ID)); | 229 | request.append(buildEndTag(ONU_ID)); |
| 248 | } | 230 | } |
| 249 | request.append(buildEndTag(GEM_STATS)); | 231 | request.append(buildEndTag(GEM_STATS)); |
| ... | @@ -252,30 +234,119 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour | ... | @@ -252,30 +234,119 @@ public class FujitsuVoltOnuConfig extends AbstractHandlerBehaviour |
| 252 | request.append(buildStartTag(ONU_ETH_STATS)); | 234 | request.append(buildStartTag(ONU_ETH_STATS)); |
| 253 | request.append(buildStartTag(ETH_STATS)); | 235 | request.append(buildStartTag(ETH_STATS)); |
| 254 | request.append(buildStartTag(PONLINK_ID, false)); | 236 | request.append(buildStartTag(PONLINK_ID, false)); |
| 255 | - request.append(onuId[0]); | 237 | + request.append(onuId[FIRST_PART]); |
| 256 | request.append(buildEndTag(PONLINK_ID)); | 238 | request.append(buildEndTag(PONLINK_ID)); |
| 257 | - if (onuId.length > 1) { | 239 | + if (onuId.length > ONE) { |
| 258 | request.append(buildStartTag(ONU_ID, false)); | 240 | request.append(buildStartTag(ONU_ID, false)); |
| 259 | - request.append(onuId[1]); | 241 | + request.append(onuId[SECOND_PART]); |
| 260 | request.append(buildEndTag(ONU_ID)); | 242 | request.append(buildEndTag(ONU_ID)); |
| 261 | } | 243 | } |
| 262 | request.append(buildEndTag(ETH_STATS)); | 244 | request.append(buildEndTag(ETH_STATS)); |
| 263 | request.append(buildEndTag(ONU_ETH_STATS)); | 245 | request.append(buildEndTag(ONU_ETH_STATS)); |
| 264 | - | ||
| 265 | request.append(buildEndTag(ONU_STATISTICS)); | 246 | request.append(buildEndTag(ONU_STATISTICS)); |
| 266 | - } else { | 247 | + } else { |
| 267 | request.append(buildEmptyTag(ONU_STATISTICS)); | 248 | request.append(buildEmptyTag(ONU_STATISTICS)); |
| 268 | } | 249 | } |
| 269 | request.append(buildEndTag(VOLT_STATISTICS)); | 250 | request.append(buildEndTag(VOLT_STATISTICS)); |
| 270 | request.append(VOLT_NE_CLOSE); | 251 | request.append(VOLT_NE_CLOSE); |
| 271 | 252 | ||
| 272 | - reply = controller. | 253 | + reply = controller |
| 273 | - getDevicesMap().get(ncDeviceId).getSession(). | 254 | + .getDevicesMap() |
| 274 | - get(request.toString(), REPORT_ALL); | 255 | + .get(ncDeviceId) |
| 256 | + .getSession() | ||
| 257 | + .get(request.toString(), REPORT_ALL); | ||
| 275 | } catch (IOException e) { | 258 | } catch (IOException e) { |
| 276 | - log.error("Cannot communicate to device {} exception ", ncDeviceId, e); | 259 | + log.error("Cannot communicate to device {} exception {}", ncDeviceId, e); |
| 277 | } | 260 | } |
| 278 | return reply; | 261 | return reply; |
| 279 | } | 262 | } |
| 280 | 263 | ||
| 264 | + /** | ||
| 265 | + * Verifies input string for ponlink-id{-onu-id}. | ||
| 266 | + * | ||
| 267 | + * @param target input data in string | ||
| 268 | + * @return String array | ||
| 269 | + * @return null if an error condition is detected | ||
| 270 | + */ | ||
| 271 | + private String[] checkIdString(String target) { | ||
| 272 | + String[] onuId = target.split(HYPHEN); | ||
| 273 | + int pon; | ||
| 274 | + int onu; | ||
| 275 | + | ||
| 276 | + if (onuId.length > TWO) { | ||
| 277 | + log.error("Invalid number of arguments for id:{}", onuId.length); | ||
| 278 | + return null; | ||
| 279 | + } | ||
| 280 | + try { | ||
| 281 | + pon = Integer.parseInt(onuId[FIRST_PART]); | ||
| 282 | + if (pon <= ZERO) { | ||
| 283 | + log.error("Invalid integer for ponlink-id:{}", onuId[FIRST_PART]); | ||
| 284 | + return null; | ||
| 285 | + } | ||
| 286 | + if (onuId.length > ONE) { | ||
| 287 | + onu = Integer.parseInt(onuId[SECOND_PART]); | ||
| 288 | + if (onu <= ZERO) { | ||
| 289 | + log.error("Invalid integer for onu-id:{}", onuId[SECOND_PART]); | ||
| 290 | + return null; | ||
| 291 | + } | ||
| 292 | + } | ||
| 293 | + } catch (NumberFormatException e) { | ||
| 294 | + log.error("Non-number input for id:{}", target); | ||
| 295 | + return null; | ||
| 296 | + } | ||
| 297 | + return onuId; | ||
| 298 | + } | ||
| 299 | + | ||
| 300 | + /** | ||
| 301 | + * Verifies input string for valid options. | ||
| 302 | + * | ||
| 303 | + * @param name input data in string | ||
| 304 | + * @param value input data in string | ||
| 305 | + * @return true if the parameter is valid | ||
| 306 | + * @return false if the parameter is invalid | ||
| 307 | + */ | ||
| 308 | + private boolean checkSetParam(String name, String value) { | ||
| 309 | + if (!ONUCONFIGPARAMS.contains(name)) { | ||
| 310 | + log.error("Unsupported parameter: {}", name); | ||
| 311 | + return false; | ||
| 312 | + } | ||
| 313 | + | ||
| 314 | + switch (name) { | ||
| 315 | + case ADMIN_STATE: | ||
| 316 | + if (!validState(ADMINSTATES, name, value)) { | ||
| 317 | + return false; | ||
| 318 | + } | ||
| 319 | + break; | ||
| 320 | + case PASSWORD: | ||
| 321 | + if (!value.matches(PASSWORD_PATTERN)) { | ||
| 322 | + log.error("Invalid value for Name {} : Value {}.", name, value); | ||
| 323 | + return false; | ||
| 324 | + } | ||
| 325 | + break; | ||
| 326 | + default: | ||
| 327 | + if (!validState(ENABLES, name, value)) { | ||
| 328 | + return false; | ||
| 329 | + } | ||
| 330 | + break; | ||
| 331 | + } | ||
| 332 | + return true; | ||
| 333 | + } | ||
| 334 | + | ||
| 335 | + /** | ||
| 336 | + * Verifies input string for valid options. | ||
| 337 | + * | ||
| 338 | + * @param states input data in string for parameter state | ||
| 339 | + * @param name input data in string for parameter name | ||
| 340 | + * @param value input data in string for parameter value | ||
| 341 | + * @return true if the param is valid | ||
| 342 | + * @return false if the param is invalid | ||
| 343 | + */ | ||
| 344 | + private boolean validState(Set<String> states, String name, String value) { | ||
| 345 | + if (!states.contains(value)) { | ||
| 346 | + log.error("Invalid value for Name {} : Value {}.", name, value); | ||
| 347 | + return false; | ||
| 348 | + } | ||
| 349 | + return true; | ||
| 350 | + } | ||
| 351 | + | ||
| 281 | } | 352 | } | ... | ... |
| ... | @@ -79,13 +79,8 @@ public class FujitsuVoltPonLinkConfig extends AbstractHandlerBehaviour | ... | @@ -79,13 +79,8 @@ public class FujitsuVoltPonLinkConfig extends AbstractHandlerBehaviour |
| 79 | private static final int LOF_THRESHOLD_MAX = 10; | 79 | private static final int LOF_THRESHOLD_MAX = 10; |
| 80 | private static final int LOS_THRESHOLD_MIN = 1; | 80 | private static final int LOS_THRESHOLD_MIN = 1; |
| 81 | private static final int LOS_THRESHOLD_MAX = 10; | 81 | private static final int LOS_THRESHOLD_MAX = 10; |
| 82 | - private static final int FIRST_PART = 0; | ||
| 83 | - private static final int SECOND_PART = 1; | ||
| 84 | - private static final int THIRD_PART = 2; | ||
| 85 | private static final int RANGE_MIN = 0; | 82 | private static final int RANGE_MIN = 0; |
| 86 | private static final int RANGE_MAX = 1; | 83 | private static final int RANGE_MAX = 1; |
| 87 | - private static final int ZERO = 0; | ||
| 88 | - private static final int THREE = 3; | ||
| 89 | 84 | ||
| 90 | @Override | 85 | @Override |
| 91 | public String getPonLinks(String target) { | 86 | public String getPonLinks(String target) { |
| ... | @@ -100,7 +95,7 @@ public class FujitsuVoltPonLinkConfig extends AbstractHandlerBehaviour | ... | @@ -100,7 +95,7 @@ public class FujitsuVoltPonLinkConfig extends AbstractHandlerBehaviour |
| 100 | log.warn("Not master for {} Use {} to execute command", | 95 | log.warn("Not master for {} Use {} to execute command", |
| 101 | ncDeviceId, | 96 | ncDeviceId, |
| 102 | mastershipService.getMasterFor(ncDeviceId)); | 97 | mastershipService.getMasterFor(ncDeviceId)); |
| 103 | - return reply; | 98 | + return null; |
| 104 | } | 99 | } |
| 105 | 100 | ||
| 106 | try { | 101 | try { |
| ... | @@ -114,11 +109,11 @@ public class FujitsuVoltPonLinkConfig extends AbstractHandlerBehaviour | ... | @@ -114,11 +109,11 @@ public class FujitsuVoltPonLinkConfig extends AbstractHandlerBehaviour |
| 114 | pon = Integer.parseInt(target); | 109 | pon = Integer.parseInt(target); |
| 115 | if (pon <= ZERO) { | 110 | if (pon <= ZERO) { |
| 116 | log.error("Invalid integer for ponlink-id:{}", target); | 111 | log.error("Invalid integer for ponlink-id:{}", target); |
| 117 | - return reply; | 112 | + return null; |
| 118 | } | 113 | } |
| 119 | } catch (NumberFormatException e) { | 114 | } catch (NumberFormatException e) { |
| 120 | log.error("Non-number input for ponlink-id:{}", target); | 115 | log.error("Non-number input for ponlink-id:{}", target); |
| 121 | - return reply; | 116 | + return null; |
| 122 | } | 117 | } |
| 123 | request.append(buildStartTag(GPON_PONLINK_PORTS)); | 118 | request.append(buildStartTag(GPON_PONLINK_PORTS)); |
| 124 | request.append(buildStartTag(GPON_PONLINK_PORT)); | 119 | request.append(buildStartTag(GPON_PONLINK_PORT)); | ... | ... |
| ... | @@ -42,6 +42,14 @@ public final class FujitsuVoltXmlUtility { | ... | @@ -42,6 +42,14 @@ public final class FujitsuVoltXmlUtility { |
| 42 | public static final String VOLT_NE_OPEN = ANGLE_LEFT + VOLT_NE + SPACE; | 42 | public static final String VOLT_NE_OPEN = ANGLE_LEFT + VOLT_NE + SPACE; |
| 43 | public static final String VOLT_NE_CLOSE = ANGLE_LEFT + SLASH + VOLT_NE + ANGLE_RIGHT; | 43 | public static final String VOLT_NE_CLOSE = ANGLE_LEFT + SLASH + VOLT_NE + ANGLE_RIGHT; |
| 44 | 44 | ||
| 45 | + public static final int FIRST_PART = 0; | ||
| 46 | + public static final int SECOND_PART = 1; | ||
| 47 | + public static final int THIRD_PART = 2; | ||
| 48 | + public static final int ZERO = 0; | ||
| 49 | + public static final int ONE = 1; | ||
| 50 | + public static final int TWO = 2; | ||
| 51 | + public static final int THREE = 3; | ||
| 52 | + | ||
| 45 | private FujitsuVoltXmlUtility() { | 53 | private FujitsuVoltXmlUtility() { |
| 46 | // Preventing any allocation | 54 | // Preventing any allocation |
| 47 | } | 55 | } | ... | ... |
| ... | @@ -52,9 +52,6 @@ public class FujitsuVoltControllerConfigTest { | ... | @@ -52,9 +52,6 @@ public class FujitsuVoltControllerConfigTest { |
| 52 | private static final String TEST_VOLT_OFCONFIG = "volt-ofconfig"; | 52 | private static final String TEST_VOLT_OFCONFIG = "volt-ofconfig"; |
| 53 | private static final String TEST_OFCONFIG_ID = "ofconfig-id"; | 53 | private static final String TEST_OFCONFIG_ID = "ofconfig-id"; |
| 54 | private static final String TEST_END_LICENSE_HEADER = "-->"; | 54 | private static final String TEST_END_LICENSE_HEADER = "-->"; |
| 55 | - private static final int FIRST_PART = 0; | ||
| 56 | - private static final int SECOND_PART = 1; | ||
| 57 | - private static final int THIRD_PART = 2; | ||
| 58 | 55 | ||
| 59 | private static final Map<Integer, String> GET_CONTROLLERS = new HashMap<Integer, String>() { | 56 | private static final Map<Integer, String> GET_CONTROLLERS = new HashMap<Integer, String>() { |
| 60 | { | 57 | { | ... | ... |
drivers/fujitsu/src/test/java/org/onosproject/drivers/fujitsu/FujitsuVoltOnuConfigTest.java
0 → 100644
| 1 | +/* | ||
| 2 | + * Copyright 2016-present Open Networking Laboratory | ||
| 3 | + * | ||
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | ||
| 5 | + * you may not use this file except in compliance with the License. | ||
| 6 | + * You may obtain a copy of the License at | ||
| 7 | + * | ||
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | ||
| 9 | + * | ||
| 10 | + * Unless required by applicable law or agreed to in writing, software | ||
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | ||
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| 13 | + * See the License for the specific language governing permissions and | ||
| 14 | + * limitations under the License. | ||
| 15 | + */ | ||
| 16 | + | ||
| 17 | +package org.onosproject.drivers.fujitsu; | ||
| 18 | + | ||
| 19 | +import org.junit.Before; | ||
| 20 | +import org.junit.Test; | ||
| 21 | + | ||
| 22 | +import java.util.HashMap; | ||
| 23 | +import java.util.Map; | ||
| 24 | + | ||
| 25 | +import static org.junit.Assert.assertTrue; | ||
| 26 | +import static org.junit.Assert.assertNull; | ||
| 27 | +import static org.junit.Assert.assertNotNull; | ||
| 28 | +import static org.onosproject.drivers.fujitsu.FujitsuVoltXmlUtilityMock.*; | ||
| 29 | + | ||
| 30 | + | ||
| 31 | +/** | ||
| 32 | + * Unit tests for methods of FujitsuVoltOnuConfig. | ||
| 33 | + */ | ||
| 34 | +public class FujitsuVoltOnuConfigTest { | ||
| 35 | + | ||
| 36 | + private FujitsuNetconfControllerMock controller; | ||
| 37 | + private FujitsuDriverHandlerAdapter driverHandler; | ||
| 38 | + private FujitsuVoltOnuConfig voltConfig; | ||
| 39 | + | ||
| 40 | + private final FujitsuNetconfSessionListenerTest listener = new InternalSessionListenerTest(); | ||
| 41 | + | ||
| 42 | + private static final String TEST_VOLT_ONUS = "volt-onus"; | ||
| 43 | + private static final String TEST_ONUS_PERLINK = "onus-perlink"; | ||
| 44 | + private static final String TEST_ONUS_LIST = "onus-list"; | ||
| 45 | + private static final String TEST_ONU_INFO = "onu-info"; | ||
| 46 | + private static final String TEST_ONU_SET_CONFIG = "onu-set-config"; | ||
| 47 | + private static final String TEST_CONFIG_INFO = "config-info"; | ||
| 48 | + private static final String TEST_VOLT_STATISTICS = "volt-statistics"; | ||
| 49 | + private static final String TEST_ONU_STATISTICS = "onu-statistics"; | ||
| 50 | + private static final String TEST_ONU_ETH_STATS = "onu-eth-stats"; | ||
| 51 | + private static final String TEST_ETH_STATS = "eth-stats"; | ||
| 52 | + private static final String TEST_ONU_GEM_STATS = "onu-gem-stats"; | ||
| 53 | + private static final String TEST_GEM_STATS = "gem-stats"; | ||
| 54 | + | ||
| 55 | + private static final String TEST_ONU_SET_CONFIG_WITH_NAMESPACE = | ||
| 56 | + TEST_ANGLE_LEFT + TEST_ONU_SET_CONFIG + TEST_SPACE + | ||
| 57 | + TEST_VOLT_NE_NAMESPACE; | ||
| 58 | + | ||
| 59 | + private static final Map<Integer, String> INVALID_GET_TCS = new HashMap<Integer, String>() { | ||
| 60 | + { | ||
| 61 | + put(1, "a-b"); | ||
| 62 | + put(2, "--1-2"); | ||
| 63 | + put(3, "s-1"); | ||
| 64 | + put(4, "16-1-1"); | ||
| 65 | + put(5, "1 A-1"); | ||
| 66 | + put(6, "1*A-1"); | ||
| 67 | + } | ||
| 68 | + }; | ||
| 69 | + private static final Map<Integer, String> VALID_GET_TCS = new HashMap<Integer, String>() { | ||
| 70 | + { | ||
| 71 | + put(1, "1"); | ||
| 72 | + put(2, "1-2"); | ||
| 73 | + put(3, null); | ||
| 74 | + } | ||
| 75 | + }; | ||
| 76 | + private static final Map<Integer, String> INVALID_SET_TCS = new HashMap<Integer, String>() { | ||
| 77 | + { | ||
| 78 | + put(1, "-11-3:admin-state:enable"); | ||
| 79 | + put(2, "1-2:admin-state:false"); | ||
| 80 | + put(3, "1-2:pm-enable:123"); | ||
| 81 | + put(4, "^1-2:pm-enable:false"); | ||
| 82 | + put(5, "1-2:fec-enable:xyz"); | ||
| 83 | + put(6, "1-2:security-enable:123abc"); | ||
| 84 | + put(7, "2-3:password:-1&"); | ||
| 85 | + put(8, "2:admin-state:disable"); | ||
| 86 | + } | ||
| 87 | + }; | ||
| 88 | + private static final Map<Integer, String> VALID_SET_TCS = new HashMap<Integer, String>() { | ||
| 89 | + { | ||
| 90 | + put(1, "1-11:admin-state:disable"); | ||
| 91 | + put(2, "8-1:pm-enable:true"); | ||
| 92 | + put(3, "1-1:fec-enable:true"); | ||
| 93 | + put(4, "1-21:security-enable:false"); | ||
| 94 | + put(5, "3-2:password:abc123"); | ||
| 95 | + } | ||
| 96 | + }; | ||
| 97 | + private static final Map<Integer, String> INVALID_GET_STATS_TCS = new HashMap<Integer, String>() { | ||
| 98 | + { | ||
| 99 | + put(1, "1-a"); | ||
| 100 | + put(2, "1:1"); | ||
| 101 | + put(3, "a-1"); | ||
| 102 | + put(4, "1-1-1"); | ||
| 103 | + put(5, "2 A-1"); | ||
| 104 | + put(6, "2/A-1"); | ||
| 105 | + } | ||
| 106 | + }; | ||
| 107 | + private static final Map<Integer, String> VALID_GET_STATS_TCS = new HashMap<Integer, String>() { | ||
| 108 | + { | ||
| 109 | + put(1, "1"); | ||
| 110 | + put(2, "3-12"); | ||
| 111 | + put(3, null); | ||
| 112 | + } | ||
| 113 | + }; | ||
| 114 | + private Integer currentKey; | ||
| 115 | + | ||
| 116 | + | ||
| 117 | + @Before | ||
| 118 | + public void setUp() throws Exception { | ||
| 119 | + controller = new FujitsuNetconfControllerMock(); | ||
| 120 | + driverHandler = controller.setUp(listener); | ||
| 121 | + voltConfig = new FujitsuVoltOnuConfig(); | ||
| 122 | + voltConfig.setHandler(driverHandler); | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + /** | ||
| 126 | + * Run to verify handling of invalid input for get operation. | ||
| 127 | + */ | ||
| 128 | + @Test | ||
| 129 | + public void testInvalidGetOnusInput() throws Exception { | ||
| 130 | + String reply; | ||
| 131 | + String target; | ||
| 132 | + | ||
| 133 | + for (Integer key : INVALID_GET_TCS.keySet()) { | ||
| 134 | + target = INVALID_GET_TCS.get(key); | ||
| 135 | + reply = voltConfig.getOnus(target); | ||
| 136 | + assertNull("Incorrect response for " + target, reply); | ||
| 137 | + } | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + /** | ||
| 141 | + * Run to verify handling of valid input for get operation. | ||
| 142 | + */ | ||
| 143 | + @Test | ||
| 144 | + public void testValidGetOnus() throws Exception { | ||
| 145 | + String reply; | ||
| 146 | + String target; | ||
| 147 | + | ||
| 148 | + for (Integer key : VALID_GET_TCS.keySet()) { | ||
| 149 | + target = VALID_GET_TCS.get(key); | ||
| 150 | + currentKey = key; | ||
| 151 | + reply = voltConfig.getOnus(target); | ||
| 152 | + assertNotNull("Incorrect response for " + target, reply); | ||
| 153 | + } | ||
| 154 | + } | ||
| 155 | + | ||
| 156 | + /** | ||
| 157 | + * Run to verify handling of invalid input for set operation. | ||
| 158 | + */ | ||
| 159 | + @Test | ||
| 160 | + public void testInvalidSetOnuInput() throws Exception { | ||
| 161 | + String target; | ||
| 162 | + String reply; | ||
| 163 | + | ||
| 164 | + for (Integer key : INVALID_SET_TCS.keySet()) { | ||
| 165 | + target = INVALID_SET_TCS.get(key); | ||
| 166 | + reply = voltConfig.setOnu(target); | ||
| 167 | + assertNull("Incorrect response for " + target, reply); | ||
| 168 | + } | ||
| 169 | + } | ||
| 170 | + | ||
| 171 | + /** | ||
| 172 | + * Run to verify handling of valid input for set operation. | ||
| 173 | + */ | ||
| 174 | + @Test | ||
| 175 | + public void testValidSetOnu() throws Exception { | ||
| 176 | + String target; | ||
| 177 | + String reply; | ||
| 178 | + | ||
| 179 | + for (Integer key : VALID_SET_TCS.keySet()) { | ||
| 180 | + target = VALID_SET_TCS.get(key); | ||
| 181 | + currentKey = key; | ||
| 182 | + reply = voltConfig.setOnu(target); | ||
| 183 | + assertNotNull("Incorrect response for " + target, reply); | ||
| 184 | + } | ||
| 185 | + } | ||
| 186 | + | ||
| 187 | + /** | ||
| 188 | + * Run to verify handling of invalid input for get statistics operation. | ||
| 189 | + */ | ||
| 190 | + @Test | ||
| 191 | + public void testInvalidGetOnuStatsInput() throws Exception { | ||
| 192 | + String reply; | ||
| 193 | + String target; | ||
| 194 | + | ||
| 195 | + for (Integer key : INVALID_GET_STATS_TCS.keySet()) { | ||
| 196 | + target = INVALID_GET_STATS_TCS.get(key); | ||
| 197 | + reply = voltConfig.getOnuStatistics(target); | ||
| 198 | + assertNull("Incorrect response for " + target, reply); | ||
| 199 | + } | ||
| 200 | + } | ||
| 201 | + | ||
| 202 | + /** | ||
| 203 | + * Run to verify handling of valid input for get statistics operation. | ||
| 204 | + */ | ||
| 205 | + @Test | ||
| 206 | + public void testValidGetOnuStats() throws Exception { | ||
| 207 | + String reply; | ||
| 208 | + String target; | ||
| 209 | + | ||
| 210 | + for (Integer key : VALID_GET_STATS_TCS.keySet()) { | ||
| 211 | + target = VALID_GET_STATS_TCS.get(key); | ||
| 212 | + currentKey = key; | ||
| 213 | + reply = voltConfig.getOnuStatistics(target); | ||
| 214 | + assertNotNull("Incorrect response for " + target, reply); | ||
| 215 | + } | ||
| 216 | + } | ||
| 217 | + | ||
| 218 | + /** | ||
| 219 | + * Verifies XML request string by comparing with generated string. | ||
| 220 | + * | ||
| 221 | + * @param request XML string for get operation | ||
| 222 | + * @return true if XML string matches with generated | ||
| 223 | + */ | ||
| 224 | + private boolean verifyGetRequest(String request) { | ||
| 225 | + StringBuilder rpc = new StringBuilder(); | ||
| 226 | + String target = VALID_GET_TCS.get(currentKey); | ||
| 227 | + String[] onuId = null; | ||
| 228 | + | ||
| 229 | + if (target != null) { | ||
| 230 | + onuId = target.split(TEST_HYPHEN); | ||
| 231 | + } | ||
| 232 | + | ||
| 233 | + rpc.append(TEST_VOLT_NE_OPEN).append(TEST_VOLT_NE_NAMESPACE); | ||
| 234 | + rpc.append(TEST_ANGLE_RIGHT).append(TEST_NEW_LINE); | ||
| 235 | + if (onuId != null) { | ||
| 236 | + rpc.append(startTag(TEST_VOLT_ONUS)); | ||
| 237 | + rpc.append(startTag(TEST_ONUS_PERLINK)); | ||
| 238 | + rpc.append(startTag(TEST_PONLINK_ID, false)); | ||
| 239 | + rpc.append(onuId[FIRST_PART]); | ||
| 240 | + rpc.append(endTag(TEST_PONLINK_ID)); | ||
| 241 | + if (onuId.length > ONE) { | ||
| 242 | + rpc.append(startTag(TEST_ONUS_LIST)); | ||
| 243 | + rpc.append(startTag(TEST_ONU_INFO)); | ||
| 244 | + rpc.append(startTag(TEST_ONU_ID, false)); | ||
| 245 | + rpc.append(onuId[SECOND_PART]); | ||
| 246 | + rpc.append(endTag(TEST_ONU_ID)); | ||
| 247 | + rpc.append(endTag(TEST_ONU_INFO)); | ||
| 248 | + rpc.append(endTag(TEST_ONUS_LIST)); | ||
| 249 | + } | ||
| 250 | + rpc.append(endTag(TEST_ONUS_PERLINK)); | ||
| 251 | + rpc.append(endTag(TEST_VOLT_ONUS)); | ||
| 252 | + } else { | ||
| 253 | + rpc.append(emptyTag(TEST_VOLT_ONUS)); | ||
| 254 | + } | ||
| 255 | + rpc.append(TEST_VOLT_NE_CLOSE); | ||
| 256 | + | ||
| 257 | + String testRequest = rpc.toString(); | ||
| 258 | + testRequest = testRequest.replaceAll(TEST_WHITESPACES_REGEX, TEST_EMPTY_STRING); | ||
| 259 | + request = request.replaceAll(TEST_WHITESPACES_REGEX, TEST_EMPTY_STRING); | ||
| 260 | + boolean result = request.equals(testRequest); | ||
| 261 | + assertTrue("Does not match with generated string", result); | ||
| 262 | + return result; | ||
| 263 | + } | ||
| 264 | + | ||
| 265 | + /** | ||
| 266 | + * Verifies XML request string by comparing with generated string. | ||
| 267 | + * | ||
| 268 | + * @param request XML string for set operation | ||
| 269 | + * @return true or false | ||
| 270 | + */ | ||
| 271 | + private boolean verifyWrappedRpcRequest(String request) { | ||
| 272 | + StringBuilder rpc = new StringBuilder(); | ||
| 273 | + String target = VALID_SET_TCS.get(currentKey); | ||
| 274 | + String[] data = target.split(TEST_COLON); | ||
| 275 | + String[] onuId = data[FIRST_PART].split(TEST_HYPHEN); | ||
| 276 | + | ||
| 277 | + rpc.append(TEST_ANGLE_LEFT).append(TEST_ONU_SET_CONFIG).append(TEST_SPACE); | ||
| 278 | + rpc.append(TEST_VOLT_NE_NAMESPACE).append(TEST_ANGLE_RIGHT).append(TEST_NEW_LINE); | ||
| 279 | + rpc.append(startTag(TEST_PONLINK_ID, false)); | ||
| 280 | + rpc.append(onuId[FIRST_PART]); | ||
| 281 | + rpc.append(endTag(TEST_PONLINK_ID)); | ||
| 282 | + rpc.append(startTag(TEST_ONU_ID, false)); | ||
| 283 | + rpc.append(onuId[SECOND_PART]); | ||
| 284 | + rpc.append(endTag(TEST_ONU_ID)); | ||
| 285 | + rpc.append(startTag(TEST_CONFIG_INFO)); | ||
| 286 | + rpc.append(startTag(data[SECOND_PART], false)); | ||
| 287 | + rpc.append(data[THIRD_PART]); | ||
| 288 | + rpc.append(endTag(data[SECOND_PART])); | ||
| 289 | + rpc.append(endTag(TEST_CONFIG_INFO)); | ||
| 290 | + rpc.append(endTag(TEST_ONU_SET_CONFIG)); | ||
| 291 | + | ||
| 292 | + String testRequest = rpc.toString(); | ||
| 293 | + testRequest = testRequest.replaceAll(TEST_WHITESPACES_REGEX, TEST_EMPTY_STRING); | ||
| 294 | + request = request.replaceAll(TEST_WHITESPACES_REGEX, TEST_EMPTY_STRING); | ||
| 295 | + boolean result = request.equals(testRequest); | ||
| 296 | + assertTrue("Does not match with generated string", result); | ||
| 297 | + return result; | ||
| 298 | + } | ||
| 299 | + | ||
| 300 | + /** | ||
| 301 | + * Verifies XML request string by comparing with generated string (statistics). | ||
| 302 | + * | ||
| 303 | + * @param request XML string for get operation | ||
| 304 | + * @return true if XML string matches with generated | ||
| 305 | + */ | ||
| 306 | + private boolean verifyGetRequestForStats(String request) { | ||
| 307 | + StringBuilder rpc = new StringBuilder(); | ||
| 308 | + String target = VALID_GET_STATS_TCS.get(currentKey); | ||
| 309 | + String[] onuId = null; | ||
| 310 | + | ||
| 311 | + if (target != null) { | ||
| 312 | + onuId = target.split(TEST_HYPHEN); | ||
| 313 | + } | ||
| 314 | + | ||
| 315 | + rpc.append(TEST_VOLT_NE_OPEN).append(TEST_VOLT_NE_NAMESPACE); | ||
| 316 | + rpc.append(TEST_ANGLE_RIGHT).append(TEST_NEW_LINE); | ||
| 317 | + rpc.append(startTag(TEST_VOLT_STATISTICS)); | ||
| 318 | + if (onuId != null) { | ||
| 319 | + rpc.append(startTag(TEST_ONU_STATISTICS)); | ||
| 320 | + rpc.append(startTag(TEST_ONU_GEM_STATS)); | ||
| 321 | + rpc.append(startTag(TEST_GEM_STATS)); | ||
| 322 | + rpc.append(startTag(TEST_PONLINK_ID, false)); | ||
| 323 | + rpc.append(onuId[FIRST_PART]); | ||
| 324 | + rpc.append(endTag(TEST_PONLINK_ID)); | ||
| 325 | + if (onuId.length > ONE) { | ||
| 326 | + rpc.append(startTag(TEST_ONU_ID, false)); | ||
| 327 | + rpc.append(onuId[SECOND_PART]); | ||
| 328 | + rpc.append(endTag(TEST_ONU_ID)); | ||
| 329 | + } | ||
| 330 | + rpc.append(endTag(TEST_GEM_STATS)); | ||
| 331 | + rpc.append(endTag(TEST_ONU_GEM_STATS)); | ||
| 332 | + | ||
| 333 | + rpc.append(startTag(TEST_ONU_ETH_STATS)); | ||
| 334 | + rpc.append(startTag(TEST_ETH_STATS)); | ||
| 335 | + rpc.append(startTag(TEST_PONLINK_ID, false)); | ||
| 336 | + rpc.append(onuId[FIRST_PART]); | ||
| 337 | + rpc.append(endTag(TEST_PONLINK_ID)); | ||
| 338 | + if (onuId.length > ONE) { | ||
| 339 | + rpc.append(startTag(TEST_ONU_ID, false)); | ||
| 340 | + rpc.append(onuId[SECOND_PART]); | ||
| 341 | + rpc.append(endTag(TEST_ONU_ID)); | ||
| 342 | + } | ||
| 343 | + rpc.append(endTag(TEST_ETH_STATS)); | ||
| 344 | + rpc.append(endTag(TEST_ONU_ETH_STATS)); | ||
| 345 | + rpc.append(endTag(TEST_ONU_STATISTICS)); | ||
| 346 | + } else { | ||
| 347 | + rpc.append(emptyTag(TEST_ONU_STATISTICS)); | ||
| 348 | + } | ||
| 349 | + rpc.append(endTag(TEST_VOLT_STATISTICS)); | ||
| 350 | + rpc.append(TEST_VOLT_NE_CLOSE); | ||
| 351 | + | ||
| 352 | + String testRequest = rpc.toString(); | ||
| 353 | + testRequest = testRequest.replaceAll(TEST_WHITESPACES_REGEX, TEST_EMPTY_STRING); | ||
| 354 | + request = request.replaceAll(TEST_WHITESPACES_REGEX, TEST_EMPTY_STRING); | ||
| 355 | + boolean result = request.equals(testRequest); | ||
| 356 | + assertTrue("Does not match with generated string", result); | ||
| 357 | + return result; | ||
| 358 | + } | ||
| 359 | + | ||
| 360 | + /** | ||
| 361 | + * Internal listener for device service events. | ||
| 362 | + */ | ||
| 363 | + private class InternalSessionListenerTest implements FujitsuNetconfSessionListenerTest { | ||
| 364 | + @Override | ||
| 365 | + public boolean verifyEditConfig(String request) { | ||
| 366 | + return false; | ||
| 367 | + } | ||
| 368 | + | ||
| 369 | + @Override | ||
| 370 | + public boolean verifyEditConfig(String target, String mode, String request) { | ||
| 371 | + return false; | ||
| 372 | + } | ||
| 373 | + | ||
| 374 | + @Override | ||
| 375 | + public boolean verifyGet(String filterSchema, String withDefaultsMode) { | ||
| 376 | + boolean result; | ||
| 377 | + boolean forStats; | ||
| 378 | + | ||
| 379 | + assertTrue("Incorrect withDefaultsMode", withDefaultsMode.equals(TEST_REPORT_ALL)); | ||
| 380 | + filterSchema = filterSchema.replaceAll(TEST_DUPLICATE_SPACES_REGEX, TEST_SPACE); | ||
| 381 | + assertTrue("Does not contain:" + TEST_VOLT_NAMESPACE, | ||
| 382 | + filterSchema.contains(TEST_VOLT_NAMESPACE)); | ||
| 383 | + | ||
| 384 | + forStats = filterSchema.contains(TEST_VOLT_STATISTICS); | ||
| 385 | + if (forStats) { | ||
| 386 | + result = verifyGetRequestForStats(filterSchema); | ||
| 387 | + } else { | ||
| 388 | + result = verifyGetRequest(filterSchema); | ||
| 389 | + } | ||
| 390 | + assertTrue("XML verification failure", result); | ||
| 391 | + return result; | ||
| 392 | + } | ||
| 393 | + | ||
| 394 | + @Override | ||
| 395 | + public String buildGetReply() { | ||
| 396 | + return null; | ||
| 397 | + } | ||
| 398 | + | ||
| 399 | + @Override | ||
| 400 | + public boolean verifyWrappedRpc(String request) { | ||
| 401 | + boolean result; | ||
| 402 | + | ||
| 403 | + request = request.replaceAll(TEST_DUPLICATE_SPACES_REGEX, TEST_SPACE); | ||
| 404 | + assertTrue("Does not contain:" + TEST_ONU_SET_CONFIG_WITH_NAMESPACE, | ||
| 405 | + request.contains(TEST_ONU_SET_CONFIG_WITH_NAMESPACE)); | ||
| 406 | + | ||
| 407 | + result = verifyWrappedRpcRequest(request); | ||
| 408 | + assertTrue("XML verification failure", result); | ||
| 409 | + return result; | ||
| 410 | + } | ||
| 411 | + | ||
| 412 | + @Override | ||
| 413 | + public void verifyStartSubscription(String filterSchema) { | ||
| 414 | + } | ||
| 415 | + } | ||
| 416 | + | ||
| 417 | +} |
| ... | @@ -42,9 +42,6 @@ public class FujitsuVoltPonLinkConfigTest { | ... | @@ -42,9 +42,6 @@ public class FujitsuVoltPonLinkConfigTest { |
| 42 | private static final String TEST_VOLT_PORTS = "volt-ports"; | 42 | private static final String TEST_VOLT_PORTS = "volt-ports"; |
| 43 | private static final String TEST_GPON_PONLINK_PORTS = "gpon-ponlink-ports"; | 43 | private static final String TEST_GPON_PONLINK_PORTS = "gpon-ponlink-ports"; |
| 44 | private static final String TEST_GPON_PONLINK_PORT = "gpon-ponlink-port"; | 44 | private static final String TEST_GPON_PONLINK_PORT = "gpon-ponlink-port"; |
| 45 | - private static final int FIRST_PART = 0; | ||
| 46 | - private static final int SECOND_PART = 1; | ||
| 47 | - private static final int THIRD_PART = 2; | ||
| 48 | 45 | ||
| 49 | private static final Map<Integer, String> INVALID_GET_TCS = new HashMap<Integer, String>() { | 46 | private static final Map<Integer, String> INVALID_GET_TCS = new HashMap<Integer, String>() { |
| 50 | { | 47 | { | ... | ... |
| ... | @@ -55,6 +55,10 @@ final class FujitsuVoltXmlUtilityMock { | ... | @@ -55,6 +55,10 @@ final class FujitsuVoltXmlUtilityMock { |
| 55 | public static final String TEST_VOLT_NAMESPACE = TEST_VOLT_NE_OPEN + | 55 | public static final String TEST_VOLT_NAMESPACE = TEST_VOLT_NE_OPEN + |
| 56 | TEST_VOLT_NE_NAMESPACE; | 56 | TEST_VOLT_NE_NAMESPACE; |
| 57 | 57 | ||
| 58 | + public static final int FIRST_PART = 0; | ||
| 59 | + public static final int SECOND_PART = 1; | ||
| 60 | + public static final int THIRD_PART = 2; | ||
| 61 | + public static final int ONE = 1; | ||
| 58 | 62 | ||
| 59 | private FujitsuVoltXmlUtilityMock() { | 63 | private FujitsuVoltXmlUtilityMock() { |
| 60 | } | 64 | } | ... | ... |
-
Please register or login to post a comment