summaryrefslogtreecommitdiffstats
path: root/test/unit/TestUtils/ClassUtils.php
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/TestUtils/ClassUtils.php')
-rw-r--r--test/unit/TestUtils/ClassUtils.php56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/unit/TestUtils/ClassUtils.php b/test/unit/TestUtils/ClassUtils.php
new file mode 100644
index 0000000..26d264c
--- /dev/null
+++ b/test/unit/TestUtils/ClassUtils.php
@@ -0,0 +1,56 @@
+<?php
+namespace SparkPost\Test\TestUtils;
+
+
+class ClassUtils {
+
+ private $class;
+
+ public function __construct($fqClassName) {
+ $this->class = new \ReflectionClass($fqClassName);
+ }
+
+ /**
+ * Allows access to private methods
+ *
+ * This is needed to mock the GuzzleHttp\Client responses
+ *
+ * @param string $name
+ * @return ReflectionMethod
+ */
+ public function getMethod($method) {
+ $method = $this->class->getMethod($name);
+ $method->setAccessible(true);
+ return $method;
+ }
+
+ /**
+ * Allows access to private properties in the Transmission class
+ *
+ * This is needed to mock the GuzzleHttp\Client responses
+ *
+ * @param string $name
+ * @param {*}
+ * @return ReflectionMethod
+ */
+ public function getProperty($instance, $property) {
+ $prop = $this->class->getProperty($property);
+ $prop->setAccessible(true);
+ return $prop->getValue($instance);
+ }
+ /**
+ * Allows access to private properties in the Transmission class
+ *
+ * This is needed to mock the GuzzleHttp\Client responses
+ *
+ * @param string $name
+ * @param {*}
+ * @return ReflectionMethod
+ */
+ public function setProperty($instance, $property, $value) {
+ $prop = $this->class->getProperty($property);
+ $prop->setAccessible(true);
+ $prop->setValue($instance, $value);
+ }
+}
+?>