2012-05-15 13:13:56 +02:00
|
|
|
(eval-when-compile (require 'cl))
|
|
|
|
(require 'ert)
|
|
|
|
|
|
|
|
(require 'ein-kernel)
|
|
|
|
|
|
|
|
|
2012-05-22 23:32:47 +02:00
|
|
|
(defun eintest:kernel-new (port)
|
|
|
|
(ein:kernel-new port "/kernels"
|
|
|
|
(get-buffer-create "*eintest: dummy for kernel test*")))
|
|
|
|
|
2012-05-15 13:13:56 +02:00
|
|
|
(ert-deftest ein:kernel-start-check-url ()
|
2012-05-22 23:32:47 +02:00
|
|
|
(let* ((kernel (eintest:kernel-new 8888))
|
2012-05-15 13:13:56 +02:00
|
|
|
(notebook-id "NOTEBOOK-ID")
|
|
|
|
(desired-url "http://127.0.0.1:8888/kernels?notebook=NOTEBOOK-ID")
|
2012-05-26 21:25:20 +02:00
|
|
|
(dummy-buffer (get-buffer-create "*eintest:dummy*"))
|
2012-05-15 13:13:56 +02:00
|
|
|
got-url)
|
2012-05-26 21:25:20 +02:00
|
|
|
(flet ((url-retrieve (url &rest ignore) (setq got-url url) dummy-buffer))
|
2012-05-22 23:32:47 +02:00
|
|
|
(ein:kernel-start kernel notebook-id)
|
2012-05-15 13:13:56 +02:00
|
|
|
(should (equal got-url desired-url)))))
|
2012-05-15 13:18:56 +02:00
|
|
|
|
|
|
|
(ert-deftest ein:kernel-restart-check-url ()
|
2012-05-22 23:32:47 +02:00
|
|
|
(let* ((kernel (eintest:kernel-new 8888))
|
2012-05-15 13:18:56 +02:00
|
|
|
(kernel-id "KERNEL-ID")
|
|
|
|
(desired-url "http://127.0.0.1:8888/kernels/KERNEL-ID/restart")
|
2012-05-26 21:25:20 +02:00
|
|
|
(dummy-buffer (get-buffer-create "*eintest:dummy*"))
|
2012-05-15 13:18:56 +02:00
|
|
|
got-url)
|
2012-05-26 21:25:20 +02:00
|
|
|
(flet ((url-retrieve (url &rest ignore) (setq got-url url) dummy-buffer)
|
2012-05-22 23:45:53 +02:00
|
|
|
(ein:kernel-stop-channels (&rest ignore))
|
|
|
|
(ein:websocket (&rest ignore) (make-ein:$websocket))
|
2012-05-22 23:32:47 +02:00
|
|
|
(ein:events-trigger (&rest ignore)))
|
2012-05-26 21:25:20 +02:00
|
|
|
(ein:kernel--kernel-started kernel :data (list :kernel_id kernel-id))
|
2012-05-22 23:32:47 +02:00
|
|
|
(ein:kernel-restart kernel)
|
2012-05-15 13:18:56 +02:00
|
|
|
(should (equal got-url desired-url)))))
|
2012-05-15 13:22:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
(ert-deftest ein:kernel-interrupt-check-url ()
|
2012-05-22 23:32:47 +02:00
|
|
|
(let* ((kernel (eintest:kernel-new 8888))
|
2012-05-15 13:22:22 +02:00
|
|
|
(kernel-id "KERNEL-ID")
|
|
|
|
(desired-url "http://127.0.0.1:8888/kernels/KERNEL-ID/interrupt")
|
2012-05-26 21:25:20 +02:00
|
|
|
(dummy-buffer (get-buffer-create "*eintest:dummy*"))
|
2012-05-15 13:22:22 +02:00
|
|
|
got-url)
|
2012-05-26 21:25:20 +02:00
|
|
|
(flet ((url-retrieve (url &rest ignore) (setq got-url url) dummy-buffer)
|
2012-05-22 23:45:53 +02:00
|
|
|
(ein:kernel-stop-channels (&rest ignore))
|
|
|
|
(ein:websocket (&rest ignore) (make-ein:$websocket)))
|
2012-05-26 21:25:20 +02:00
|
|
|
(ein:kernel--kernel-started kernel :data (list :kernel_id kernel-id))
|
2012-05-15 13:22:22 +02:00
|
|
|
(ein:kernel-interrupt kernel)
|
|
|
|
(should (equal got-url desired-url)))))
|
2012-05-15 13:28:15 +02:00
|
|
|
|
|
|
|
(ert-deftest ein:kernel-kill-check-url ()
|
2012-05-22 23:32:47 +02:00
|
|
|
(let* ((kernel (eintest:kernel-new 8888))
|
2012-05-15 13:28:15 +02:00
|
|
|
(kernel-id "KERNEL-ID")
|
|
|
|
(desired-url "http://127.0.0.1:8888/kernels/KERNEL-ID")
|
2012-05-26 21:25:20 +02:00
|
|
|
(dummy-buffer (get-buffer-create "*eintest:dummy*"))
|
2012-05-15 13:28:15 +02:00
|
|
|
got-url)
|
2012-05-26 21:25:20 +02:00
|
|
|
(flet ((url-retrieve (url &rest ignore) (setq got-url url) dummy-buffer)
|
2012-05-22 23:45:53 +02:00
|
|
|
(ein:kernel-stop-channels (&rest ignore))
|
|
|
|
(ein:websocket (&rest ignore) (make-ein:$websocket)))
|
2012-05-26 21:25:20 +02:00
|
|
|
(ein:kernel--kernel-started kernel :data (list :kernel_id kernel-id))
|
2012-05-15 13:28:15 +02:00
|
|
|
(ein:kernel-kill kernel)
|
|
|
|
(let* ((l (split-string got-url "?"))
|
|
|
|
(got-url-0 (nth 0 l))
|
|
|
|
(got-url-1 (nth 1 l)))
|
|
|
|
(should (equal got-url-0 desired-url))
|
|
|
|
(should (string-match "^_=[0-9]+$" got-url-1))))))
|