class_docstr: Test class for AthenaPartitioner when output data in Parquet format
docstr: AthenaPartitioner - Get Partitions From Keys in parquet format
docstr_tok: ["AthenaPartitioner","-","Get","Partitions","From","Keys","in","parquet","format"]
code: def test_get_partitions_from_keys_parquet(self):
      """AthenaPartitioner - Get Partitions From Keys in parquet format"""
      expected_result = {
          "alerts": {
              "(dt = '2017-08-26-14')": (
                  "'s3://unit-test-streamalerts/"
                  "parquet/alerts/dt=2017-08-26-14'"
              ),
              "(dt = '2017-08-27-14')": (
                  "'s3://unit-test-streamalerts/"
                  "parquet/alerts/dt=2017-08-27-14'"
              ),
              "(dt = '2017-08-26-15')": (
                  "'s3://unit-test-streamalerts/"
                  "parquet/alerts/dt=2017-08-26-15'"
              ),
          },
          "log_type_1": {
              "(dt = '2017-08-26-14')": (
                  "'s3://unit-test-streamalert-data/"
                  "parquet/log_type_1/dt=2017-08-26-14'"
              )
          },
          "log_type_2": {
              "(dt = '2017-08-26-14')": (
                  "'s3://unit-test-streamalert-data/"
                  "parquet/log_type_2/dt=2017-08-26-14'"
              ),
              "(dt = '2017-08-26-15')": (
                  "'s3://unit-test-streamalert-data/"
                  "parquet/log_type_2/dt=2017-08-26-15'"
              ),
              "(dt = '2017-08-26-16')": (
                  "'s3://unit-test-streamalert-data/"
                  "parquet/log_type_2/dt=2017-08-26-16'"
              ),
          },
          "log_type_3": {
              "(dt = '2017-08-26-14')": (
                  "'s3://unit-test-streamalert-data/"
                  "parquet/log_type_3/dt=2017-08-26-14'"
              ),
          },
      }
  
      self._partitioner._s3_buckets_and_keys = {
          "unit-test-streamalerts": {
              b"parquet/alerts/dt=2017-08-26-14/rule_name_alerts-1304134918401.parquet",
              b"parquet/alerts/dt=2017-08-27-14/rule_name_alerts-1304134918401.parquet",
              b"parquet/alerts/dt=2017-08-26-15/rule_name_alerts-1304134918401.parquet",
          },
          "unit-test-streamalert-data": {
              b"parquet/log_type_1/dt=2017-08-26-14/test-data-11111-22222-33333.snappy",
              b"parquet/log_type_2/dt=2017-08-26-14/test-data-11111-22222-33333.snappy",
              b"parquet/log_type_2/dt=2017-08-26-14/test-data-11111-22222-33334.snappy",
              b"parquet/log_type_2/dt=2017-08-26-15/test-data-11111-22222-33333.snappy",
              b"parquet/log_type_2/dt=2017-08-26-16/test-data-11111-22222-33333.snappy",
              b"parquet/log_type_3/dt=2017-08-26-14/test-data-11111-22222-33333.snappy",
          },
          "test-bucket-with-data": {
              b"dt=2017-08-26-14/rule_name_alerts-1304134918401.parquet",
              b"dt=2017-07-30-14/rule_name_alerts-1304134918401.parquet",
          },
      }
  
      result = self._partitioner._get_partitions_from_keys()
  
      assert_equal(result, expected_result)
  
imports: import json
  import os
  from mock import Mock, patch, call
  from nose.tools import assert_equal, assert_true
  from streamalert.athena_partitioner.main import AthenaPartitioner
  from streamalert.shared.config import load_config
  from tests.unit.helpers.aws_mocks import MockAthenaClient
label_desc: Use image node_id 4 for calling the TestAthenaPartitioner obj's underlying member method code with example usage: obj.test_get_partitions_from_keys_parquet() without return types