Skip to content

Instantly share code, notes, and snippets.

View mczachurski's full-sized avatar

Marcin Czachurski mczachurski

View GitHub Profile
import Foundation
import Configuration
public class Configuration {
public var serverName: String
public var serverPort: Int
public var logFile: String
public var databaseHost: String
public var datanaseName: String
public var databaseUser: String
import Foundation
import Configuration
extension ConfigurationManager {
public func build() -> Configuration {
let configuration = Configuration(manager: self)
return configuration
}
}
class TasksRepository : TasksRepositoryProtocol {
init(configuration: Configuration) {
print("Database host: \(configuration.databaseHost)")
}
}
//
// DependencyContainer.swift
// TaskerServerPackageDescription
//
// Created by Marcin Czachurski on 12.02.2018.
//
import Foundation
import Dip
import PerfectHTTP
import PerfectHTTPServer
import PerfectLib
import Dip
import TaskerServerLib
import Configuration
// Read configuration file.
let configurationManager = ConfigurationManager()
.load(file: "configuration.json", relativeFrom: .pwd)
// Read configuration file.
let configurationManager = ConfigurationManager()
.load(file: "configuration.json", relativeFrom: .pwd)
.load(.environmentVariables)
.load(.commandLineArguments)
let configuration = configurationManager.build()
func testGetUsersShouldReturnUsersCollection() {
// Arrange.
let fakeHttpRequest = FakeHTTPRequest()
let fakeHttpResponse = FakeHTTPResponse()
let fakeUsersRepository = FakeUsersRepository()
fakeUsersRepository.getUsersMock.expect(any())
fakeUsersRepository.getUsersStub.on(any(), return: [
User(id: 1, name: "John Doe", email: "[email protected]", isLocked: false),
import Foundation
import TaskerServerLib
import Dobby
class FakeUsersRepository : UsersRepositoryProtocol {
let getUsersMock = Mock<()>()
let getUsersStub = Stub<(), [User]>()
let getUserMock = Mock<(Int)>()
import XCTest
import PerfectHTTP
import Dobby
@testable import TaskerServerLib
class UsersControllerTests: XCTestCase {
func testInitRoutesShouldInitializeGetAllUsersRoute() {
// Arrange.
// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "TaskerServer",
dependencies: [
// Dependencies declare other packages that this package depends on.
.package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", from: "3.0.0"),