Normally you would do that with CHECK constraint:
foo_test VARCHAR(50) NOT NULL CHECK (foo_test <> '')
Prior to Version 8.0 MySQL had limited support for constraints. From MySQL Reference Manual:
The CHECK clause is parsed but ignored by all storage engines.
If you must stick to an old version use triggers as a workaround, as people have pointed out.
In future, you may want to take a look at PostgreSQL, which is considered to have better support for data integrity (among other things) by many people.