aboutsummaryrefslogtreecommitdiff
path: root/tests/chain.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/chain.rs')
-rw-r--r--tests/chain.rs145
1 files changed, 75 insertions, 70 deletions
diff --git a/tests/chain.rs b/tests/chain.rs
index f77fd0e..c32959c 100644
--- a/tests/chain.rs
+++ b/tests/chain.rs
@@ -1,70 +1,75 @@
-//use std::ffi::CStr;
-//
-//mod sys;
-//use rustables::{query::get_operation_from_nlmsghdr_type, MsgType};
-//use sys::*;
-//
-//mod lib;
-//use lib::*;
-//
-//#[test]
-//fn new_empty_chain() {
-// let mut chain = get_test_chain();
-// let (nlmsghdr, _nfgenmsg, raw_expr) = get_test_nlmsg(&mut chain);
-// assert_eq!(
-// get_operation_from_nlmsghdr_type(nlmsghdr.nlmsg_type),
-// NFT_MSG_NEWCHAIN as u8
-// );
-// assert_eq!(nlmsghdr.nlmsg_len, 52);
-//
-// assert_eq!(
-// raw_expr,
-// NetlinkExpr::List(vec![
-// NetlinkExpr::Final(NFTA_CHAIN_TABLE, TABLE_NAME.to_vec()),
-// NetlinkExpr::Final(NFTA_CHAIN_NAME, CHAIN_NAME.to_vec()),
-// ])
-// .to_raw()
-// );
-//}
-//
-//#[test]
-//fn new_empty_chain_with_userdata() {
-// let mut chain = get_test_chain();
-// chain.set_userdata(CStr::from_bytes_with_nul(CHAIN_USERDATA).unwrap());
-// let (nlmsghdr, _nfgenmsg, raw_expr) = get_test_nlmsg(&mut chain);
-// assert_eq!(
-// get_operation_from_nlmsghdr_type(nlmsghdr.nlmsg_type),
-// NFT_MSG_NEWCHAIN as u8
-// );
-// assert_eq!(nlmsghdr.nlmsg_len, 72);
-//
-// assert_eq!(
-// raw_expr,
-// NetlinkExpr::List(vec![
-// NetlinkExpr::Final(NFTA_CHAIN_TABLE, TABLE_NAME.to_vec()),
-// NetlinkExpr::Final(NFTA_CHAIN_NAME, CHAIN_NAME.to_vec()),
-// NetlinkExpr::Final(NFTA_CHAIN_USERDATA, CHAIN_USERDATA.to_vec())
-// ])
-// .to_raw()
-// );
-//}
-//
-//#[test]
-//fn delete_empty_chain() {
-// let mut chain = get_test_chain();
-// let (nlmsghdr, _nfgenmsg, raw_expr) = get_test_nlmsg_with_msg_type(&mut chain, MsgType::Del);
-// assert_eq!(
-// get_operation_from_nlmsghdr_type(nlmsghdr.nlmsg_type),
-// NFT_MSG_DELCHAIN as u8
-// );
-// assert_eq!(nlmsghdr.nlmsg_len, 52);
-//
-// assert_eq!(
-// raw_expr,
-// NetlinkExpr::List(vec![
-// NetlinkExpr::Final(NFTA_CHAIN_TABLE, TABLE_NAME.to_vec()),
-// NetlinkExpr::Final(NFTA_CHAIN_NAME, CHAIN_NAME.to_vec()),
-// ])
-// .to_raw()
-// );
-//}
+mod sys;
+use rustables::{parser::get_operation_from_nlmsghdr_type, MsgType};
+use sys::*;
+
+mod lib;
+use lib::*;
+
+#[test]
+fn new_empty_chain() {
+ let mut chain = get_test_chain();
+
+ let mut buf = Vec::new();
+ let (nlmsghdr, _nfgenmsg, raw_expr) = get_test_nlmsg(&mut buf, &mut chain);
+ assert_eq!(
+ get_operation_from_nlmsghdr_type(nlmsghdr.nlmsg_type),
+ NFT_MSG_NEWCHAIN as u8
+ );
+ assert_eq!(nlmsghdr.nlmsg_len, 52);
+
+ assert_eq!(
+ raw_expr,
+ NetlinkExpr::List(vec![
+ NetlinkExpr::Final(NFTA_CHAIN_TABLE, TABLE_NAME.as_bytes().to_vec()),
+ NetlinkExpr::Final(NFTA_CHAIN_NAME, CHAIN_NAME.as_bytes().to_vec()),
+ ])
+ .to_raw()
+ );
+}
+
+#[test]
+fn new_empty_chain_with_userdata() {
+ let mut chain = get_test_chain();
+ chain.set_userdata(CHAIN_USERDATA);
+
+ let mut buf = Vec::new();
+ let (nlmsghdr, _nfgenmsg, raw_expr) = get_test_nlmsg(&mut buf, &mut chain);
+ assert_eq!(
+ get_operation_from_nlmsghdr_type(nlmsghdr.nlmsg_type),
+ NFT_MSG_NEWCHAIN as u8
+ );
+ assert_eq!(nlmsghdr.nlmsg_len, 72);
+
+ assert_eq!(
+ raw_expr,
+ NetlinkExpr::List(vec![
+ NetlinkExpr::Final(NFTA_CHAIN_TABLE, TABLE_NAME.as_bytes().to_vec()),
+ NetlinkExpr::Final(NFTA_CHAIN_NAME, CHAIN_NAME.as_bytes().to_vec()),
+ NetlinkExpr::Final(NFTA_CHAIN_USERDATA, CHAIN_USERDATA.as_bytes().to_vec())
+ ])
+ .to_raw()
+ );
+}
+
+#[test]
+fn delete_empty_chain() {
+ let mut chain = get_test_chain();
+
+ let mut buf = Vec::new();
+ let (nlmsghdr, _nfgenmsg, raw_expr) =
+ get_test_nlmsg_with_msg_type(&mut buf, &mut chain, MsgType::Del);
+ assert_eq!(
+ get_operation_from_nlmsghdr_type(nlmsghdr.nlmsg_type),
+ NFT_MSG_DELCHAIN as u8
+ );
+ assert_eq!(nlmsghdr.nlmsg_len, 52);
+
+ assert_eq!(
+ raw_expr,
+ NetlinkExpr::List(vec![
+ NetlinkExpr::Final(NFTA_CHAIN_TABLE, TABLE_NAME.as_bytes().to_vec()),
+ NetlinkExpr::Final(NFTA_CHAIN_NAME, CHAIN_NAME.as_bytes().to_vec()),
+ ])
+ .to_raw()
+ );
+}