snmp-object-properties.phpt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. --TEST--
  2. OO API: SNMP object properties
  3. --CREDITS--
  4. Boris Lytochkin
  5. --SKIPIF--
  6. <?php
  7. require_once(dirname(__FILE__).'/skipif.inc');
  8. ?>
  9. --FILE--
  10. <?php
  11. require_once(dirname(__FILE__).'/snmp_include.inc');
  12. //EXPECTF format is quickprint OFF
  13. snmp_set_enum_print(false);
  14. snmp_set_quick_print(false);
  15. snmp_set_valueretrieval(SNMP_VALUE_PLAIN);
  16. snmp_set_oid_output_format(SNMP_OID_OUTPUT_FULL);
  17. echo "Check working\n";
  18. $session = new SNMP(SNMP::VERSION_1, $hostname, $community, $timeout, $retries);
  19. var_dump($session);
  20. $session->max_oids = 40;
  21. $session->enum_print = TRUE;
  22. $session->quick_print = TRUE;
  23. $session->valueretrieval = SNMP_VALUE_LIBRARY;
  24. $session->oid_output_format = SNMP_OID_OUTPUT_NUMERIC;
  25. $session->oid_increasing_check = FALSE;
  26. var_dump($session);
  27. $session->max_oids = "40";
  28. $session->enum_print = "1";
  29. $session->quick_print = "1";
  30. $session->valueretrieval = "1";
  31. $session->oid_output_format = "3";
  32. $session->oid_increasing_check = "45";
  33. var_dump($session);
  34. var_dump(property_exists($session, "enum_print"));
  35. var_dump(isset($session->enum_print));
  36. var_dump(empty($session->enum_print));
  37. $param=123;
  38. $session->$param = "param_value";
  39. var_dump($session);
  40. var_dump($session->$param);
  41. var_dump(property_exists($session, $param));
  42. echo "Error handling\n";
  43. $param = 'there is no such parameter';
  44. var_dump($session->$param);
  45. var_dump(property_exists($session, $param));
  46. $session->valueretrieval = 67;
  47. var_dump($session->valueretrieval);
  48. $session->oid_output_format = 78;
  49. var_dump($session->oid_output_format);
  50. $session->info = array("blah" => 2);
  51. var_dump($session->info);
  52. $session->max_oids = NULL;
  53. var_dump($session->max_oids);
  54. ?>
  55. --EXPECTF--
  56. Check working
  57. object(SNMP)#%d (%d) {
  58. ["info"]=>
  59. array(4) {
  60. ["hostname"]=>
  61. string(%d) "%s"
  62. ["port"]=>
  63. int(%d)
  64. ["timeout"]=>
  65. int(%i)
  66. ["retries"]=>
  67. int(%d)
  68. }
  69. ["max_oids"]=>
  70. NULL
  71. ["valueretrieval"]=>
  72. int(1)
  73. ["quick_print"]=>
  74. bool(false)
  75. ["enum_print"]=>
  76. bool(false)
  77. ["oid_output_format"]=>
  78. int(3)
  79. ["oid_increasing_check"]=>
  80. bool(true)
  81. ["exceptions_enabled"]=>
  82. int(0)
  83. }
  84. object(SNMP)#%d (%d) {
  85. ["info"]=>
  86. array(4) {
  87. ["hostname"]=>
  88. string(%d) "%s"
  89. ["port"]=>
  90. int(%d)
  91. ["timeout"]=>
  92. int(%i)
  93. ["retries"]=>
  94. int(%d)
  95. }
  96. ["max_oids"]=>
  97. int(40)
  98. ["valueretrieval"]=>
  99. int(0)
  100. ["quick_print"]=>
  101. bool(true)
  102. ["enum_print"]=>
  103. bool(true)
  104. ["oid_output_format"]=>
  105. int(4)
  106. ["oid_increasing_check"]=>
  107. bool(false)
  108. ["exceptions_enabled"]=>
  109. int(0)
  110. }
  111. object(SNMP)#%d (%d) {
  112. ["info"]=>
  113. array(4) {
  114. ["hostname"]=>
  115. string(%d) "%s"
  116. ["port"]=>
  117. int(%d)
  118. ["timeout"]=>
  119. int(%i)
  120. ["retries"]=>
  121. int(%d)
  122. }
  123. ["max_oids"]=>
  124. int(40)
  125. ["valueretrieval"]=>
  126. int(1)
  127. ["quick_print"]=>
  128. bool(true)
  129. ["enum_print"]=>
  130. bool(true)
  131. ["oid_output_format"]=>
  132. int(3)
  133. ["oid_increasing_check"]=>
  134. bool(true)
  135. ["exceptions_enabled"]=>
  136. int(0)
  137. }
  138. bool(true)
  139. bool(true)
  140. bool(false)
  141. object(SNMP)#%d (%d) {
  142. ["info"]=>
  143. array(4) {
  144. ["hostname"]=>
  145. string(%d) "%s"
  146. ["port"]=>
  147. int(%d)
  148. ["timeout"]=>
  149. int(%i)
  150. ["retries"]=>
  151. int(%d)
  152. }
  153. ["max_oids"]=>
  154. int(40)
  155. ["valueretrieval"]=>
  156. int(1)
  157. ["quick_print"]=>
  158. bool(true)
  159. ["enum_print"]=>
  160. bool(true)
  161. ["oid_output_format"]=>
  162. int(3)
  163. ["oid_increasing_check"]=>
  164. bool(true)
  165. ["exceptions_enabled"]=>
  166. int(0)
  167. ["123"]=>
  168. string(11) "param_value"
  169. }
  170. string(11) "param_value"
  171. bool(true)
  172. Error handling
  173. Notice: Undefined property: SNMP::$there is no such parameter in %s on line %d
  174. NULL
  175. bool(false)
  176. Warning: main(): Unknown SNMP value retrieval method '67' in %s on line %d
  177. int(1)
  178. Warning: main(): Unknown SNMP output print format '78' in %s on line %d
  179. int(3)
  180. Warning: main(): info property is read-only in %s on line %d
  181. array(4) {
  182. ["hostname"]=>
  183. string(%d) "%s"
  184. ["port"]=>
  185. int(%d)
  186. ["timeout"]=>
  187. int(%i)
  188. ["retries"]=>
  189. int(%d)
  190. }
  191. NULL