Content - ContentTypes ContentTypeResource and ContentUnitsCollections

I thought these three would share more code than they ended up sharing so I combined them. The next one looks more complex though, so decided to make this PR now.
On 12/18/2014 06:32 AM, bmbouter wrote:
> @rbarlow <https://github.com/rbarlow>, I would like to use the Django
> test runner so for me it's a question of when and how. To do it we would
> need to have Jenkins switch to it, figure out how to run individual
> tests from the command line, run all tests from the command line, and
> use PyCharm to run an individual and all tests also. I plan to
> investigate this some in the new year and we can review what comes out
> of that. Tagging @barnabycourt <https://github.com/barnabycourt> and
> @mhrivnak <https://github.com/mhrivnak> so they see my test runner plans
> for the future. :smiling_imp:

As a former contributor to Django's test runner, I can attest that it is
capable of running individual tests or suites of tests. ☺

> The new Django unit tests will all inherit from unittest directly, and
> won't need any base test module. Usually when I can't explain some
> magical behavior in the testing code it's been provided by one of these
> base test modules. This has caused me to reach the conclusion that they
> do more harm than good. The Django tests don't have a need for a base
> test module so we aren't planning on making one. I'm hoping we can keep
> it that way, but let me know if I'm overlooking something.

+1

> For the immediate short term, I think moving lines 1 and 2 to near this
> location in run-tests.py
> <https://github.com/pulp/pulp/blob/introducing-django/run-tests.py#L13>
> as part of a separate PR is the best thing to do. I believe @asmacdo
> <https://github.com/asmacdo> is already doing that in a separate PR.

Sounds reasonable, but I have a counter proposal:

Let's do what you've suggested and put this in run-tests, but let's also
extend run-tests to accept optional test modules it should pass on to
nosetests so that we can use run-tests to run individual tests. How does
that sound?