public function testDatabaseConnection() { $container = new Container(); $container->register(new DatabaseServiceProvider()); $container->instance('viserio.database.options', ['default' => 'sqlite', 'connections' => ['sqlite' => ['driver' => 'pdo_sqlite', 'database' => __DIR__ . '/../Stub/database.sqlite', 'memory' => true]]]); $conn = $container->get(Connection::class); $sql = 'SELECT name FROM text WHERE id = 1'; $collection = $conn->fetchArray($sql); $this->assertInstanceOf(Collection::class, $collection); $this->assertSame([0 => 'narrowspark'], $collection->all()); $collection = $conn->fetchAll($sql); $this->assertInstanceOf(Collection::class, $collection); $this->assertSame(['name' => 'narrowspark'], $collection->all()); $collection = $conn->fetchAssoc($sql); $this->assertInstanceOf(Collection::class, $collection); $this->assertSame(['name' => 'narrowspark'], $collection->all()); $stmt = $conn->prepare($sql); $stmt->execute(); $collection = $stmt->fetchAll(); $this->assertInstanceOf(Collection::class, $collection); $this->assertSame(['name' => 'narrowspark'], $collection->all()); $stmt = $conn->query($sql); $collection = $stmt->fetch(); $this->assertInstanceOf(Collection::class, $collection); $this->assertSame(['name' => 'narrowspark'], $collection->all()); $stmt = $conn->query('SELECT name FROM text WHERE id = 2'); $this->assertFalse($stmt->fetch()); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new HashingServiceProvider()); $container->instance('viserio.hashing.options', ['key' => Key::createNewRandomKey()]); $this->assertInstanceOf(Password::class, $container->get(Password::class)); $this->assertInstanceOf(Password::class, $container->get('password')); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new DatabaseServiceProvider()); $container->register(new MigrationsServiceProvider()); $container->instance('viserio.database.options', ['default' => 'sqlite', 'connections' => ['mysql' => ['driver' => 'pdo_mysql', 'host' => 'DB_HOST', 'port' => 'DB_PORT', 'database' => 'DB_DATABASE_NAME', 'username' => 'DB_DATABASE_USER', 'password' => 'DB_DATABASE_PASSWORD', 'charset' => 'DB_CHARSET', 'UTF8', 'driverOptions' => [1002 => 'SET NAMES utf8']], 'sqlite' => ['driver' => 'pdo_sqlite', 'username' => 'DB_DATABASE_USER', 'database' => __DIR__ . '/../Stub/database.sqlite', 'memory' => true]], 'migrations' => ['path' => env('DB_MIGRATION_PATH', __DIR__ . '/../Stub/'), 'namespace' => 'Database\\Migrations', 'name' => 'migration', 'table_name' => 'migration']]); $this->assertTrue(is_array($container->get('migrations.commands'))); }
public function testExtendingValue() { $container = new Container(); $container->instance('previous', 'foo'); $container->register(new SimpleFixtureServiceProvider()); $getPrevious = $container->get('previous'); $this->assertEquals('foo', $getPrevious()); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new EventsServiceProvider()); $container->register(new ConsoleServiceProvider()); $container->instance('viserio.console.options', ['version' => '1']); $this->assertInstanceOf(Application::class, $container->get(Application::class)); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new ParsersServiceProvider()); $container->register(new TranslatorServiceProvider()); $container->instance('viserio.translation.options', ['locale' => 'en', 'lang_path' => $this->file->url()]); $this->assertInstanceOf(TranslationManager::class, $container->get(TranslationManager::class)); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new CookieServiceProvider()); $container->instance('viserio.cookie.options', ['domain' => '', 'path' => '', 'secure' => true]); $this->assertInstanceOf(RequestCookie::class, $container->get(RequestCookie::class)); $this->assertInstanceOf(CookieJar::class, $container->get(CookieJar::class)); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new ExceptionServiceProvider()); $container->register(new ViewServiceProvider()); $container->register(new FilesServiceProvider()); $container->instance('viserio.exception.options', ['debug' => true]); $this->assertInstanceOf(VerboseFilter::class, $container->get(VerboseFilter::class)); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new EncrypterServiceProvider()); $key = Key::createNewRandomKey(); $container->instance('viserio.encryption.options', ['key' => $key->saveToAsciiSafeString()]); $this->assertInstanceOf(Encrypter::class, $container->get(Encrypter::class)); $this->assertInstanceOf(Encrypter::class, $container->get('encrypter')); }
public function testProviderWithoutConfigManagerAndNamespace() { $container = new Container(); $container->register(new LoggerServiceProvider()); $container->register(new EventsServiceProvider()); $container->instance('viserio.log.options', ['env' => 'dev']); $this->assertInstanceOf(MonologWriter::class, $container->get(LoggerInterface::class)); $this->assertInstanceOf(MonologWriter::class, $container->get(MonologWriter::class)); $this->assertInstanceOf(MonologWriter::class, $container->get(Logger::class)); $this->assertInstanceOf(MonologWriter::class, $container->get(Log::class)); $this->assertInstanceOf(DispatcherContract::class, $container->get('logger')->getEventsDispatcher()); }
public function testProvider() { $container = new Container(); $container->register(new FilesServiceProvider()); $container->register(new ViewServiceProvider()); $container->instance(ServerRequestInterface::class, $this->mock(ServerRequestInterface::class)); $this->assertInstanceOf(Factory::class, $container->get(Factory::class)); $this->assertInstanceOf(Factory::class, $container->get('view')); $this->assertInstanceOf(ViewFinder::class, $container->get('view.finder')); $this->assertInstanceOf(ViewFinder::class, $container->get(ViewFinder::class)); $this->assertInstanceOf(EngineResolver::class, $container->get('view.engine.resolver')); $this->assertInstanceOf(EngineResolver::class, $container->get(EngineResolver::class)); }
public function testDelegateContainer() { $picotainer = new Picotainer(['instance' => function () { return 'value'; }]); $container = new Container(); $container->delegate($picotainer); $container->instance('instance2', $container->get('instance')); $this->assertSame('value', $container->get('instance2')); $this->assertTrue($container->hasInDelegate('instance')); $this->assertFalse($container->hasInDelegate('instance3')); }