Uuid::fromString('00000000-0000-0000-0000-000000000000'), ]) ); $this->repository = m::mock(NodeRepositoryInterface::class); $this->encrypter = m::mock(Encrypter::class); } /** * Test that a node is created and a daemon secret token is created. */ public function testNodeIsCreatedAndDaemonSecretIsGenerated() { /** @var \Pterodactyl\Models\Node $node */ $node = factory(Node::class)->make(); $this->encrypter->expects('encrypt')->with(m::on(function ($value) { return strlen($value) === Node::DAEMON_TOKEN_LENGTH; }))->andReturns('encrypted_value'); $this->repository->expects('create')->with(m::on(function ($value) { $this->assertTrue(is_array($value)); $this->assertSame('NodeName', $value['name']); $this->assertSame('00000000-0000-0000-0000-000000000000', $value['uuid']); $this->assertSame('encrypted_value', $value['daemon_token']); $this->assertTrue(strlen($value['daemon_token_id']) === Node::DAEMON_TOKEN_ID_LENGTH); return true; }), true, true)->andReturn($node); $this->assertSame($node, $this->getService()->handle(['name' => 'NodeName'])); } /** * @return \Pterodactyl\Services\Nodes\NodeCreationService */ private function getService() { return new NodeCreationService($this->encrypter, $this->repository); } }