Here are a couple modules that might help you.
can help with determining the location of a data file, and Test::File::ShareDir
will allow your tests to access the files in your share
dir even if you have not installed the module yet.
This article may also give you some ideas.
Writing to a data file that is in the install location of your module seems a bit strange to me. Could you address your issue by changing your module(s) such that it uses a config file? The config file could contain the oauth info that needs to be updated. There are many modules that can read/write config information, e.g. Config::JSON.