6 use PHPUnit\Framework\TestCase;
8 use Drupal\Component\DependencyInjection\Container;
13 use Drupal\Core\Queue\QueueFactory;
16 use Dkan\Datastore\Resource;
17 use Procrastinator\Result;
18 use Drupal\Core\Queue\Memory;
30 $chain = (
new Chain($this))
31 ->add(Container::class,
"get", $this->getContainerOptions())
32 ->add(ResourceServiceFactory::class,
"getInstance", ResourceService::class)
33 ->add(ResourceService::class,
"get",
new Resource(
"1",
"file:///hello.txt",
"text/csv"))
34 ->add(ResourceService::class,
"getResult",
new Result())
35 ->add(ImportServiceFactory::class,
"getInstance", ImportService::class)
36 ->add(ImportService::class,
"import", NULL)
37 ->add(ImportService::class,
"getResult",
new Result())
38 ->add(QueueFactory::class,
"get", NULL);
40 $service = Service::create($chain->getMock());
41 $result = $service->import(
"1");
43 $this->assertTrue(is_array($result));
51 $chain = (
new Chain($this))
52 ->add(Container::class,
"get", $this->getContainerOptions())
53 ->add(ResourceServiceFactory::class,
"getInstance", ResourceService::class)
54 ->add(ResourceService::class,
"get",
new Resource(
"1",
"file:///hello.txt",
"text/csv"))
55 ->add(ImportServiceFactory::class,
"getInstance", ImportService::class)
56 ->add(QueueFactory::class,
"get", Memory::class)
57 ->add(Memory::class,
"createItem",
"123");
59 $service = Service::create($chain->getMock());
60 $result = $service->import(
"1", TRUE);
62 $this->assertTrue(is_array($result));
69 $container = (
new Chain($this))
70 ->add(Container::class,
"get", $this->getContainerOptions())
71 ->add(QueueFactory::class,
"get", NULL)
72 ->add(ResourceServiceFactory::class,
"getInstance", ResourceService::class)
73 ->add(ResourceService::class,
"get",
new Resource(
"1",
"file:///hello.txt",
"text/csv"))
74 ->add(ResourceService::class,
"remove", NULL)
75 ->add(ImportServiceFactory::class,
"getInstance", ImportService::class)
76 ->add(ImportService::class,
"getStorage", DatabaseTable::class)
77 ->add(DatabaseTable::class,
"destroy", NULL)
78 ->add(JobStoreFactory::class,
"getInstance", JobStore::class)
79 ->add(JobStore::class,
"remove", NULL)
82 $service = Service::create($container);
85 $this->assertTrue(TRUE);
91 private function getContainerOptions() {
92 return (
new Options())
93 ->add(
'dkan_datastore.service.factory.resource', ResourceServiceFactory::class)
94 ->add(
'dkan_datastore.service.factory.import', ImportServiceFactory::class)
95 ->add(
'queue', QueueFactory::class)
96 ->add(
'dkan_datastore.job_store_factory', JobStoreFactory::class)