Committed by
Gerrit Code Review
[onos-2613] - Unit testing of BgpAttrRouterIdV4
Change-Id: I0a6a57301f7dd0e9ca588d407d230c910798fd55
Showing
1 changed file
with
25 additions
and
16 deletions
| ... | @@ -31,15 +31,15 @@ import com.google.common.base.MoreObjects; | ... | @@ -31,15 +31,15 @@ import com.google.common.base.MoreObjects; |
| 31 | /** | 31 | /** |
| 32 | * Implements BGP attribute node router ID. | 32 | * Implements BGP attribute node router ID. |
| 33 | */ | 33 | */ |
| 34 | -public class BgpAttrRouterIdV4 implements BGPValueType { | 34 | +public final class BgpAttrRouterIdV4 implements BGPValueType { |
| 35 | 35 | ||
| 36 | protected static final Logger log = LoggerFactory | 36 | protected static final Logger log = LoggerFactory |
| 37 | .getLogger(BgpAttrRouterIdV4.class); | 37 | .getLogger(BgpAttrRouterIdV4.class); |
| 38 | 38 | ||
| 39 | - public short sType; | 39 | + private final short sType; |
| 40 | 40 | ||
| 41 | /* IPv4 Router-ID of Node */ | 41 | /* IPv4 Router-ID of Node */ |
| 42 | - private Ip4Address ip4RouterId; | 42 | + private final Ip4Address ip4RouterId; |
| 43 | 43 | ||
| 44 | /** | 44 | /** |
| 45 | * Constructor to initialize the value. | 45 | * Constructor to initialize the value. |
| ... | @@ -47,36 +47,45 @@ public class BgpAttrRouterIdV4 implements BGPValueType { | ... | @@ -47,36 +47,45 @@ public class BgpAttrRouterIdV4 implements BGPValueType { |
| 47 | * @param ip4RouterId IPV4 address of router | 47 | * @param ip4RouterId IPV4 address of router |
| 48 | * @param sType TLV type | 48 | * @param sType TLV type |
| 49 | */ | 49 | */ |
| 50 | - BgpAttrRouterIdV4(Ip4Address ip4RouterId, short sType) { | 50 | + private BgpAttrRouterIdV4(Ip4Address ip4RouterId, short sType) { |
| 51 | this.ip4RouterId = ip4RouterId; | 51 | this.ip4RouterId = ip4RouterId; |
| 52 | this.sType = sType; | 52 | this.sType = sType; |
| 53 | } | 53 | } |
| 54 | 54 | ||
| 55 | /** | 55 | /** |
| 56 | + * Returns object of this class with specified values. | ||
| 57 | + * | ||
| 58 | + * @param ip4RouterId IPv4 address | ||
| 59 | + * @param sType Type of this TLV | ||
| 60 | + * @return object of BgpAttrRouterIdV4 | ||
| 61 | + */ | ||
| 62 | + public static BgpAttrRouterIdV4 of(final Ip4Address ip4RouterId, | ||
| 63 | + final short sType) { | ||
| 64 | + return new BgpAttrRouterIdV4(ip4RouterId, sType); | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + /** | ||
| 56 | * Reads the IPv4 Router-ID. | 68 | * Reads the IPv4 Router-ID. |
| 57 | * | 69 | * |
| 58 | * @param cb ChannelBuffer | 70 | * @param cb ChannelBuffer |
| 59 | - * @param sType type | 71 | + * @param sType tag type |
| 60 | * @return object of BgpAttrRouterIdV4 | 72 | * @return object of BgpAttrRouterIdV4 |
| 61 | - * @throws BGPParseException while parsing BgpAttrNodeRouterId | 73 | + * @throws BGPParseException while parsing BgpAttrRouterIdV4 |
| 62 | */ | 74 | */ |
| 63 | public static BgpAttrRouterIdV4 read(ChannelBuffer cb, short sType) | 75 | public static BgpAttrRouterIdV4 read(ChannelBuffer cb, short sType) |
| 64 | throws BGPParseException { | 76 | throws BGPParseException { |
| 65 | - byte[] ipBytes; | ||
| 66 | - Ip4Address ip4RouterId; | ||
| 67 | - | ||
| 68 | short lsAttrLength = cb.readShort(); | 77 | short lsAttrLength = cb.readShort(); |
| 69 | 78 | ||
| 70 | - if (4 != lsAttrLength) { | 79 | + if ((lsAttrLength != 4) || (cb.readableBytes() < lsAttrLength)) { |
| 71 | Validation.validateLen(BGPErrorType.UPDATE_MESSAGE_ERROR, | 80 | Validation.validateLen(BGPErrorType.UPDATE_MESSAGE_ERROR, |
| 72 | BGPErrorType.ATTRIBUTE_LENGTH_ERROR, | 81 | BGPErrorType.ATTRIBUTE_LENGTH_ERROR, |
| 73 | lsAttrLength); | 82 | lsAttrLength); |
| 74 | } | 83 | } |
| 75 | 84 | ||
| 76 | - ipBytes = new byte[lsAttrLength]; | 85 | + byte[] ipBytes = new byte[lsAttrLength]; |
| 77 | - cb.readBytes(ipBytes); | 86 | + cb.readBytes(ipBytes, 0, lsAttrLength); |
| 78 | - ip4RouterId = Ip4Address.valueOf(ipBytes); | 87 | + Ip4Address ip4RouterId = Ip4Address.valueOf(ipBytes); |
| 79 | - return new BgpAttrRouterIdV4(ip4RouterId, sType); | 88 | + return BgpAttrRouterIdV4.of(ip4RouterId, sType); |
| 80 | } | 89 | } |
| 81 | 90 | ||
| 82 | /** | 91 | /** |
| ... | @@ -84,7 +93,7 @@ public class BgpAttrRouterIdV4 implements BGPValueType { | ... | @@ -84,7 +93,7 @@ public class BgpAttrRouterIdV4 implements BGPValueType { |
| 84 | * | 93 | * |
| 85 | * @return Router ID | 94 | * @return Router ID |
| 86 | */ | 95 | */ |
| 87 | - Ip4Address getAttrRouterId() { | 96 | + public Ip4Address attrRouterId() { |
| 88 | return ip4RouterId; | 97 | return ip4RouterId; |
| 89 | } | 98 | } |
| 90 | 99 | ||
| ... | @@ -113,7 +122,7 @@ public class BgpAttrRouterIdV4 implements BGPValueType { | ... | @@ -113,7 +122,7 @@ public class BgpAttrRouterIdV4 implements BGPValueType { |
| 113 | 122 | ||
| 114 | @Override | 123 | @Override |
| 115 | public int write(ChannelBuffer cb) { | 124 | public int write(ChannelBuffer cb) { |
| 116 | - // TODO Auto-generated method stub | 125 | + // TODO This will be implemented in the next version |
| 117 | return 0; | 126 | return 0; |
| 118 | } | 127 | } |
| 119 | 128 | ... | ... |
-
Please register or login to post a comment