adding duplicates test
large commit: separating flush and request into two threads, improving logging, adding duplicate testing, renaming occurences of provider to integrations, updating test case generation