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));
 }
Beispiel #12
0
 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'));
 }