[ 
https://issues.apache.org/jira/browse/TOREE-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15278573#comment-15278573
 ] 

Corey A Stubbs commented on TOREE-296:
--------------------------------------

[~poplavs], agreed your PR should be merged into the codebase. I just want to 
keep this ticket open and document what remains so we do not lose track of what 
is not covered.

> Migrate System Tests To Use Jupyter Kernel Test
> -----------------------------------------------
>
>                 Key: TOREE-296
>                 URL: https://issues.apache.org/jira/browse/TOREE-296
>             Project: TOREE
>          Issue Type: Test
>            Reporter: Corey A Stubbs
>            Priority: Critical
>
> Unreliable system tests were removed for the 0.1.0 release. These tests 
> should be migrated to use the [jupyter kernel 
> test|https://github.com/jupyter/jupyter_kernel_test] project.  I have 
> included the pseudocode/comments from the system tests which were removed.
> {code:file=TruncationTests.scala}
> describe( "Test Truncation") {
>   it("should show or not show types based on %showtypes") {
>     // Run the code on the kernel
>     """%showtypes off
>       |1
>     """
>     // Assert the output should end with "1"
>     
>     // Run the code on the kernel
>     """%showtypes on
>       |1
>     """
>     // Assert the output should be "Int = 1"
>     
>     // Run the code on the kernel  
>     """%showtypes off
>     |1
>     """
>     // Assert the output should end with "1"
>   }
>   it("should truncate or not truncate based on %truncate") {
>     // Run the code on the kernel
>     "for ( a <-  1 to 300 ) yield a" 
>     // Assert the output should end with "..."
>     // Run the code on the kernel
>     """%Truncation off
>       |for ( a <-  1 to 300 ) yield a
>     """
>     // Assert the output should end with "300"
>       // Run the code on the kernel
>       """%Truncation on
>         |for ( a <-  1 to 300 ) yield a
>       """ 
>       // Assert the output should end with "..."
>   }
> }
> {code}
> {code:file=KernelCommSpecForSystem.scala}
> describe("Comm for Kernel System") {
>   describe("executing Comm API to open a new comm") {
>     it("should correctly send comm_open to socket") {
>       //  Send the following code to the kernel
>       """
>         |kernel.comm.open("$testTargetName")
>       """
>       // Assert CommOpen message was received
>     }
>   }
>   describe("executing Comm API to send a message") {
>     it("should correctly send comm_msg to socket") {
>       //  Send the following code to the kernel
>       s"""
>          |val commWriter = kernel.comm.open("$testTargetName")
>          |commWriter.writeMsg(
>          |   org.apache.toree.kernel.protocol.v5.MsgData("key" -> "value")
>          |)
>         """
>       // Assert CommMsg was received with msg.data.key == 'value'
>     }
>   }
>   describe("executing Comm API to close an existing comm") {
>     it("should correctly send comm_close to socket") {
>       //  Send the following code to the kernel
>       s"""
>          |val commWriter = kernel.comm.open("$testTargetName")
>          |commWriter.close()
>         """
>       //  Assert CommClose was sent
>     }
>   }
>   describe("receiving Comm API open from a client") {
>     it("should respond comm_close if the target is not found") {
>       //  Send a CommOpen for a non-existent target
>       //  Assert we receive a CommClose for that target
>     }
>   }
>   it("should not execute open callbacks if the target is not found") {
>     // Create a comm open  callback
>     // Send a comm_open (as if a client did it) with wrong target
>     // Assert the open was never called
>   }
>   it("should execute open callbacks if the target is found") {
>     // Create a callback for our comm target
>     // Send a comm_open (as if a client did it)
>     // Assert the comm callback is called
>   }
> }
>     describe("receiving Comm API message from a client") {
>       it("should not execute message callbacks if the Comm id is not found") {
>         // Create a callback for our comm target
>         // Set up the Comm id prior so we have a proper link
>         // Send a comm_msg (as if a client did it) to the incorrect id
>         // Assert the comm callback is not called
>       }
>       it("should execute message callbacks if the Comm id is found") {
>           // Create a callback for our comm target
>           // Set up the Comm id prior so we have a proper link
>           // Send a comm_msg (as if a client did it)
>           // Assert the comm callback is called
>         }
>     }
>     describe("receiving Comm API close from a client") {
>       it("should not execute close callbacks if the Comm id is not found") {
>         // Create a callback for our comm target
>         // Set up a Comm id prior so we have a proper link
>         // Send a comm_close to the incorrect Comm id
>         // Assert our callback is not called
>       }
>       it("should execute close callbacks if the Comm id is found") {
>         // Create a callback for our comm target
>         // Set up a Comm id prior so we have a proper link
>         // Send a comm_close
>         // Assert our callback is called
>       }
>       it("should unlink the Comm id from the target if the Comm id is found") 
> {
>         // Create a callback for our comm target
>         // Set up a Comm id prior so we have a proper link
>         // Send a comm_close
>         // Assert our callback is called
>         // Send a comm_close (again) with the expectation that nothing happens
>         // Assert our callback is not called again
>       }
>     }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to