Skip to content

Commit

Permalink
THorse unity tests - Mocks #362
Browse files Browse the repository at this point in the history
  • Loading branch information
viniciussanchez committed Nov 14, 2023
1 parent 0d997fe commit 815933a
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 32 deletions.
33 changes: 19 additions & 14 deletions src/Horse.Request.pas
Original file line number Diff line number Diff line change
Expand Up @@ -45,22 +45,22 @@ THorseRequest = class
function IsFormURLEncoded: Boolean;
function CanLoadContentFields: Boolean;
public
function Body: string; overload;
function Body: string; overload; virtual;
function Body<T: class>: T; overload;
function Body(const ABody: TObject): THorseRequest; overload;
function Body(const ABody: TObject): THorseRequest; overload; virtual;
function Session<T: class>: T; overload;
function Session(const ASession: TObject): THorseRequest; overload;
function Headers: THorseCoreParam;
function Query: THorseCoreParam;
function Params: THorseCoreParam;
function Cookie: THorseCoreParam;
function ContentFields: THorseCoreParam;
function MethodType: TMethodType;
function ContentType: string;
function Host: string;
function PathInfo: string;
function RawWebRequest: {$IF DEFINED(FPC)}TRequest{$ELSE}TWebRequest{$ENDIF};
property Sessions: THorseSessions read FSessions;
function Session(const ASession: TObject): THorseRequest; overload; virtual;
function Headers: THorseCoreParam; virtual;
function Query: THorseCoreParam; virtual;
function Params: THorseCoreParam; virtual;
function Cookie: THorseCoreParam; virtual;
function ContentFields: THorseCoreParam; virtual;
function Sessions: THorseSessions; virtual;
function MethodType: TMethodType; virtual;
function ContentType: string; virtual;
function Host: string; virtual;
function PathInfo: string; virtual;
function RawWebRequest: {$IF DEFINED(FPC)}TRequest{$ELSE}TWebRequest{$ENDIF}; virtual;
constructor Create(const AWebRequest: {$IF DEFINED(FPC)}TRequest{$ELSE}TWebRequest{$ENDIF});
destructor Destroy; override;
end;
Expand Down Expand Up @@ -317,4 +317,9 @@ function THorseRequest.Session<T>: T;
Result := T(FSession);
end;

function THorseRequest.Sessions: THorseSessions;
begin
Result := FSessions;
end;

end.
36 changes: 18 additions & 18 deletions src/Horse.Response.pas
Original file line number Diff line number Diff line change
Expand Up @@ -30,25 +30,25 @@ THorseResponse = class
FWebResponse: {$IF DEFINED(FPC)}TResponse{$ELSE}TWebResponse{$ENDIF};
FContent: TObject;
public
function Send(const AContent: string): THorseResponse; overload;
function Send(const AContent: string): THorseResponse; overload; virtual;
function Send<T{$IF NOT DEFINED(FPC)}: class{$ENDIF}>(AContent: T): THorseResponse; overload;
function RedirectTo(const ALocation: string): THorseResponse; overload;
function RedirectTo(const ALocation: string; const AStatus: THTTPStatus): THorseResponse; overload;
function Status(const AStatus: Integer): THorseResponse; overload;
function Status(const AStatus: THTTPStatus): THorseResponse; overload;
function SendFile(const AFileStream: TStream; const AFileName: string = ''; const AContentType: string = ''): THorseResponse; overload;
function SendFile(const AFileName: string; const AContentType: string = ''): THorseResponse; overload;
function Download(const AFileStream: TStream; const AFileName: string; const AContentType: string = ''): THorseResponse; overload;
function Download(const AFileName: string; const AContentType: string = ''): THorseResponse; overload;
function Render(const AFileStream: TStream; const AFileName: string): THorseResponse; overload;
function Render(const AFileName: string): THorseResponse; overload;
function Status: Integer; overload;
function AddHeader(const AName, AValue: string): THorseResponse;
function RemoveHeader(const AName: string): THorseResponse;
function Content: TObject; overload;
function Content(const AContent: TObject): THorseResponse; overload;
function ContentType(const AContentType: string): THorseResponse;
function RawWebResponse: {$IF DEFINED(FPC)}TResponse{$ELSE}TWebResponse{$ENDIF};
function RedirectTo(const ALocation: string): THorseResponse; overload; virtual;
function RedirectTo(const ALocation: string; const AStatus: THTTPStatus): THorseResponse; overload; virtual;
function Status(const AStatus: Integer): THorseResponse; overload; virtual;
function Status(const AStatus: THTTPStatus): THorseResponse; overload; virtual;
function SendFile(const AFileStream: TStream; const AFileName: string = ''; const AContentType: string = ''): THorseResponse; overload; virtual;
function SendFile(const AFileName: string; const AContentType: string = ''): THorseResponse; overload; virtual;
function Download(const AFileStream: TStream; const AFileName: string; const AContentType: string = ''): THorseResponse; overload; virtual;
function Download(const AFileName: string; const AContentType: string = ''): THorseResponse; overload; virtual;
function Render(const AFileStream: TStream; const AFileName: string): THorseResponse; overload; virtual;
function Render(const AFileName: string): THorseResponse; overload; virtual;
function Status: Integer; overload; virtual;
function AddHeader(const AName, AValue: string): THorseResponse; virtual;
function RemoveHeader(const AName: string): THorseResponse; virtual;
function Content: TObject; overload; virtual;
function Content(const AContent: TObject): THorseResponse; overload; virtual;
function ContentType(const AContentType: string): THorseResponse; virtual;
function RawWebResponse: {$IF DEFINED(FPC)}TResponse{$ELSE}TWebResponse{$ENDIF}; virtual;
constructor Create(const AWebResponse: {$IF DEFINED(FPC)}TResponse{$ELSE}TWebResponse{$ENDIF});
destructor Destroy; override;
end;
Expand Down

0 comments on commit 815933a

Please sign in to comment.