Commit graph

35 commits

Author SHA1 Message Date
Jordan Wright
44f88401bb
Performance Improvements for Campaign and Group Creation (#1686)
This commit significantly improves the performance of campaign and group creation by changing database access to use transactions.

It should also make things more consistent with campaign creation. Specifically, this will ensure that the entire campaign gets created before emails start sending, while I anticipate this will fix #1643, #1080, (possibly) #1677, and #1552.
2019-12-02 23:00:11 -06:00
Jordan Wright
47f0049c30
Refactor servers (#1321)
* Refactoring servers to support custom workers and graceful shutdown.
* Refactoring workers to support custom mailers.
* Refactoring mailer to be an interface, with proper instances instead of a single global instance
* Cleaning up a few things. Locking maillogs for campaigns set to launch immediately to prevent a race condition.
* Cleaning up API middleware to be simpler
* Moving template parameters to separate struct
* Changed LoadConfig to return config object
* Cleaned up some error handling, removing uninitialized global error in models package
* Changed static file serving to use the unindexed package
2018-12-15 15:42:32 -06:00
Jordan Wright
7dcf30f277
Add Support for Timed Campaigns (#1184)
This builds on the work from @c-f in #1090 to fully add support for "timed" campaigns, in which the emails are spaced apart as opposed to all being sent at once.
2018-09-02 11:17:52 -05:00
Jordan Wright
ebb6cd61b2 Implemented the ability to preview landing pages when sending a test email. 2018-06-08 21:20:52 -05:00
Konrads Smelkovs
29555085c0 If Subject is empty, don't set the header
Fixes #955
2018-02-10 13:46:08 -06:00
Shuhei Kitagawa
44afb2b965 Isolate model tests (#933)
* isolates Group model tests

* move SMTP related tests from models_test.go to smtp_test.go

* isolate Page model tests

* isolate Result model tests
2018-01-19 18:11:00 -06:00
Shuhei Kitagawa
55b0da4aa9 Separate user model test cases into a independent test file (#930) 2018-01-18 19:54:12 -06:00
Shuhei Kitagawa
405bc5effe Refactor GetUserByUsername method not to suppress an error (#920)
Also adding some other tests for the User models.
2018-01-11 18:37:38 -06:00
Shuhei Kitagawa
db19f0ac2a Remove redundant return nil statement in user.go (#921)
Removing some redundant statements in user.go.
Adding test cases for user models.
2018-01-11 18:11:57 -06:00
Jordan Wright
44154f3bf0 Removing duplicates in campaigns. Fixes #855 2017-12-11 22:12:17 -06:00
Jordan Wright
76ece15b71
Email refactoring (#878)
The initial pass at refactoring the way we send emails.
2017-12-09 15:42:07 -06:00
Jordan Wright
269568148e Phishing emails are now sent in "First Last <email@domain.com>" format. 2017-06-16 22:21:08 -05:00
Jordan Wright
66c4be3d4f Adding support for custom headers in sending profiles (#544)
Closes #215 
Closes #128
2017-02-19 18:43:08 -06:00
Jordan Wright
ea7bb04156 Changed result ID's to be 7 random alphanumeric characters. Fixes #518 2017-01-27 21:16:47 -06:00
Jordan Wright
f12af50d46 Adding support for Mysql (#442)
Thanks, @svigne1!

Fixes #53
2016-11-19 10:37:22 -06:00
Rob Cutmore
2d4a755c2c Check for specific error in group tests 2016-07-18 18:47:28 -04:00
Rob Cutmore
f9a15cfe3d Add more tests for getting group(s) 2016-07-16 08:38:27 -04:00
Rob Cutmore
3a9bc91415 Add tests for getting group(s) 2016-07-16 07:53:56 -04:00
Rob Cutmore
b5b0f0ddf8 Use generic names for Group tests 2016-07-15 07:37:16 -04:00
Rob Cutmore
bc678878e2 Put User tests together 2016-07-15 07:31:44 -04:00
Rob Cutmore
e028806b5a Add cleanup between tests for models 2016-07-15 07:28:11 -04:00
Rob Cutmore
92f4ca6a90 Add empty attribute test for PutGroup
If passing a Target instance to the database Updates method then
empty attributes will be ignored. Using a map[string]interface
ensures all changed attributes, even empty ones, are persisted to
database.
2016-07-04 06:39:38 -04:00
Rob Cutmore
731c621095 Add test for PutGroup function 2016-07-02 18:22:44 -04:00
Jordan Wright
52b9eda3b2 Added support for redirect URL's after creds are submitted. Fixes #210 2016-03-18 20:19:13 -05:00
Jordan Wright
6b61b24f68 Merge branch 'master' into 78-store-smtp-settings
# Conflicts:
#	models/models_test.go
#	static/js/app/landing_pages.js
2016-02-28 22:08:39 -06:00
Jordan Wright
af76603949 Adding tests 2016-02-25 19:58:02 -06:00
Jordan Wright
78203ad208 Added tests for SMTP 2016-02-21 22:13:06 -06:00
Jordan Wright
379edf73a3 Adding first round of database migrations using goose 2016-01-18 21:13:32 -06:00
Jordan Wright
25a7a32003 Added test for #60 2016-01-12 20:52:13 -06:00
William Woodson
3a0fa4f93f Update bcrypt dependency and code moved to gophish group 2016-01-10 11:04:03 -06:00
unknown
5756e950ab With in-memory db, no need to delete. 2015-08-15 04:36:50 -05:00
unknown
fa21fec437 Let's try the :memory: db for testing 2015-08-15 04:34:41 -05:00
unknown
be9064f718 Added ability to delete campaign from campaign results - needs some cleanup, but it works 2015-02-21 01:27:32 -06:00
Jordan
f0e7ac46c8 Integrated gorm with templates - Gorm integration complete
Updated groups to belong to one user. I may make a Team and TeamGroups, and TeamUsers m2m relationships later.
Added another test - more on the way soon.
2014-03-27 13:19:57 -05:00
Jordan
cb9c405f46 Added better testing with gocheck
Fixed some typos leading to syntax errors
TODO: Finish up gorm integration into templates
2014-03-26 21:42:07 -05:00