Exemplo n.º 1
0
def get_read_key():
    '''
    Generate a read key for the project and print that key
    '''
    settings = Settings()
    settings.load_config_file("config.yml")

    # get project name from argument
    if len(sys.argv) > 1:
        settings.set_project_name(sys.argv[1])

    # generate a read key
    print keen_io_generate_read_key(settings.get_project_name())
Exemplo n.º 2
0
class TestSettings(unittest.TestCase):
    @classmethod
    def setUpClass(self):
        self.settings = Settings()

        self.project_name = buildtimetrend.NAME

        self.project_info = {
            "version": buildtimetrend.VERSION,
            "schema_version": buildtimetrend.SCHEMA_VERSION,
            "project_name": self.project_name}

    def setUp(self):
        # reinit settings singleton
        if self.settings is not None:
            self.settings.__init__()

    def test_get_project_info(self):
        self.assertDictEqual(self.project_info, self.settings.get_project_info())

    def test_get_set_project_name(self):
        self.assertEquals(self.project_name, self.settings.get_project_name())

        self.settings.set_project_name("test_name")
        self.assertEquals("test_name", self.settings.get_project_name())

        self.settings.set_project_name(None)
        self.assertEquals(None, self.settings.get_project_name())

        self.settings.set_project_name("")
        self.assertEquals("", self.settings.get_project_name())

    def test_get_add_setting(self):
        # setting is not set yet
        self.assertEquals(None, self.settings.get_setting("test_name"))

        self.settings.add_setting("test_name", "test_value")
        self.assertEquals("test_value", self.settings.get_setting("test_name"))

        self.settings.add_setting("test_name", None)
        self.assertEquals(None, self.settings.get_setting("test_name"))

        self.settings.add_setting("test_name", "")
        self.assertEquals("", self.settings.get_setting("test_name"))

        self.settings.add_setting("test_name", 6)
        self.assertEquals(6, self.settings.get_setting("test_name"))

    def test_get_setting(self):
        self.assertEquals(None, self.settings.get_setting("test_name"))

        self.assertEquals(
            self.project_name,
            self.settings.get_setting("project_name"))

        self.assertDictEqual(
            {
                "project_name": self.project_name,
                "mode_native": False,
                "mode_keen": True
            },
            self.settings.settings.get_items())

    def test_no_config_file(self):
        # function should return false when file doesn't exist
        self.assertFalse(self.settings.load_config_file('no_file.yml'))
        self.assertDictEqual(
            {
                "project_name": self.project_name,
                "mode_native": False,
                "mode_keen": True
            },
            self.settings.settings.get_items())

        self.assertFalse(self.settings.load_config_file(''))
        self.assertDictEqual(
            {
                "project_name": self.project_name,
                "mode_native": False,
                "mode_keen": True
            },
            self.settings.settings.get_items())

        # function should throw an error when no filename is set
        self.assertRaises(TypeError, self.settings.load_config_file)

    def test_load_config_file(self):
        # checking if Keen.io configuration is not set (yet)
        self.assertEquals(None, keen.project_id)
        self.assertEquals(None, keen.write_key)
        self.assertEquals(None, keen.read_key)

        # load sample config file
        self.assertTrue(self.settings.load_config_file(constants.TEST_SAMPLE_CONFIG_FILE))
        self.assertDictEqual(
            {"project_name": "test_project",
            "mode_native": True,
            "mode_keen": False,
            "setting1": "test_value1"},
            self.settings.settings.get_items())

        # checking if Keen.io configuration is set
        self.assertEquals("1234", keen.project_id)
        self.assertEquals("12345678", keen.write_key)
        self.assertEquals("abcdefg", keen.read_key)
        self.assertTrue(keen_is_readable())
        self.assertTrue(keen_is_writable())