示例#1
0
						if state == api.TransferStatePending {
							return []api.Transfer{
								api.Transfer{State: api.TransferStatePending, Spec: specA},
							}
						} else if state == api.TransferStateCompleted {
							return []api.Transfer{
								api.Transfer{State: api.TransferStateCompleted, Spec: specB},
							}
						}

						return []api.Transfer{}
					}
				})

				It("should return the list of transfers", func() {
					transfers, err := client.TransfersByState(api.TransferStatePending)
					Expect(err).NotTo(HaveOccurred())
					Expect(transfers).To(HaveLen(1))
					Expect(transfers[0].Spec).To(Equal(specA))

					transfers, err = client.TransfersByState(api.TransferStateRunning)
					Expect(err).NotTo(HaveOccurred())
					Expect(transfers).To(HaveLen(0))

					transfers, err = client.TransfersByState(api.TransferStateCompleted)
					Expect(err).NotTo(HaveOccurred())
					Expect(transfers).To(HaveLen(1))
					Expect(transfers[0].Spec).To(Equal(specB))
				})
			})
示例#2
0
				TransferPort: destTPort,
			})
			Expect(err).NotTo(HaveOccurred())
		})

		AfterEach(func() {
			Expect(destClique.Stop()).To(Succeed())
		})

		It("should return list of pending transfers in the transfer source", func() {
			Expect(srcClient.CreateTransfer(api.TransferSpec{
				IP:   net.ParseIP("127.0.0.1"),
				Port: destTPort,
				Size: 10 * 1024 * 1024,
			})).To(Succeed())

			transferState := func() []api.Transfer {
				transfers, err := srcClient.TransfersByState(api.TransferStateRunning)
				Expect(err).NotTo(HaveOccurred())
				return transfers
			}

			// momentarily we see one running task
			Eventually(transferState).Should(HaveLen(1))

			// and then it finishes
			Eventually(transferState).Should(HaveLen(0))
		})
	})
})